package Ġjav abot . operations Ċ Ċ import Ġcom . ant wer kz . sof ia . S of ia Ċ import Ġcom . google . inject . Inject Ċ import Ġjav abot . J av abot Ċ import Ġjav abot . Message Ċ import Ġjav abot . dao . Admin Dao Ċ import Ġjava . io . InputStream Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . temporal . Ch rono Unit Ċ import Ġjava . util .* Ċ Ċ class ĠVersion Operation Ġ@ Inject Ġconstructor ( bot : ĠJ av abot , Ġadmin Dao : ĠAdmin Dao ) Ġ: ĠBot Operation ( bot , Ġadmin Dao ), ĠStandard Operation Ġ{ ĊĠĠĠ Ġvar Ġlast Invocation Time Ġ= ĠLocalDateTime . of ( 1 9 9 2 , Ġ 1 0 , Ġ 1 7 , Ġ 9 , Ġ 0 ) ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Message ( event : ĠMessage ): ĠList < Message > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponses Ġ= Ġarray ListOf < Message >() ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġevent . value ĊĠĠĠĠĠĠĠ Ġif Ġ(" version ". equals ( message , Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( LocalDateTime . now () Ġ> Ġlast Invocation Time . plus ( 5 , ĠCh rono Unit . MIN UTES )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Invocation Time Ġ= ĠLocalDateTime . now () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponses . add ( Message ( event , ĠS of ia . bot Version ( load Version ()))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresponses ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Version (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproperties Ġ= ĠProperties () ĊĠĠĠĠĠĠĠ Ġval Ġversion Properties : ĠInputStream ? Ġ= Ġthis . java Class . getResource AsStream ("/ version . properties ") ĊĠĠĠĠĠĠĠ Ġif Ġ( version Properties Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . load ( version Properties ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion Ġ= Ġproperties . getProperty (" build . version ", Ġ" UNKNOWN ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( version . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" UNKNOWN " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġversion ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" UNKNOWN " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }