package Ġcom . ann imon . test bot kt Ċ Ċ import Ġcom . ann imon . test bot kt . commands . Localization Bundle Ċ import Ġcom . ann imon . test bot kt . commands . Reverse Bundle Ċ import Ġcom . ann imon . tg bots module . Bot Handler Ċ import Ġcom . ann imon . tg bots module . api . methods . Methods Ċ import Ġcom . ann imon . tg bots module . commands . Command Registry Ċ import Ġcom . ann imon . tg bots module . commands . Simple Command Ċ import Ġcom . ann imon . tg bots module . commands . authority . For Ċ import Ġcom . ann imon . tg bots module . commands . authority . Simple Authority Ċ import Ġorg . telegram . telegram bots . meta . api . methods . ActionType Ċ import Ġorg . telegram . telegram bots . meta . api . methods . Bot Api Method Ċ import Ġorg . telegram . telegram bots . meta . api . methods . send . SendMessage Ċ import Ġorg . telegram . telegram bots . meta . api . methods . updating messages . Edit Message Text Ċ import Ġorg . telegram . telegram bots . meta . api . objects . Update Ċ Ċ class ĠTest Bot Handler ( private Ġval Ġbot Config : ĠBot Config ) Ġ: ĠBot Handler () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġauthority Ġ= ĠSimple Authority ( this , Ġbot Config . creator Id ) ĊĠĠĠ Ġprivate Ġval Ġcommands Ġ= ĠCommand Registry ( this , Ġauthority ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcommands . register ( Simple Command ("/ action ", ĠFor . CRE ATOR ) Ġ{ Ġctx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ctx . arguments Length () Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethods . send Chat Action ( ctx . chat Id (), ĠAction Type . get ( ctx . argument ( 0 , Ġ" typing "))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. call Async ( ctx . sender ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// ĠPol ls ĊĠĠĠĠĠĠĠ Ġcommands . register ( Simple Command ("/ poll ", ĠFor . all ()) Ġ{ Ġctx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlines Ġ= Ġctx . arguments AsString (). lines (). filter Not Ġ{ Ġit . isBlank () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( lines . size Ġ<= Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx . reply (" At Ġleast Ġ 3 Ġlines Ġexpected "). call Async ( ctx . sender ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethods . Pol ls . send Poll ( ctx . chat Id ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Question ( lines [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Options ( lines . drop ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. call Async ( ctx . sender ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġcommands . register ( Simple Command ("/ stop poll ", ĠFor . all ()) Ġ{ Ġctx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! ctx . message (). is Reply ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx . reply (" reply Ġwith Ġthis Ġcommand Ġto Ġa Ġpoll Ġmessage "). call Async ( ctx . sender ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethods . Pol ls . stop Poll ( ctx . chat Id (), Ġctx . message (). reply To Message . message Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. call Async ( ctx . sender ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġcommands . register Bundle ( Localization Bundle ()) ĊĠĠĠĠĠĠĠ Ġcommands . register Bundle ( Reverse Bundle ()) ĊĊĠĠĠĠĠĠĠ Ġadd Method Pre processor ( SendMessage :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . allow Sending Without Reply Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . disable Web Page Preview () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadd Method Pre processor ( Edit Message Text :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . disable Web Page Preview () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonUpdate ( update : ĠUpdate ): ĠBot Api Method < *> ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( commands . handle Update ( update )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġhandle Ġother Ġupdates ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Bot Username () Ġ= Ġbot Config . username ĊĊĠĠĠ Ġoverride Ġfun Ġget Bot Token () Ġ= Ġbot Config . token Ċ }