package Ġru . registration . bot . engine . commands Ċ Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġorg . telegram . telegram bots . meta . api . methods . send . SendMessage Ċ import Ġorg . telegram . telegram bots . meta . api . objects . Chat Ċ import Ġorg . telegram . telegram bots . meta . api . objects . Message Ċ import Ġorg . telegram . telegram bots . meta . api . objects . reply keyboard . Inline Keyboard Markup Ċ import Ġorg . telegram . telegram bots . meta . api . objects . reply keyboard . buttons . Inline Keyboard Button Ċ import Ġorg . telegram . telegram bots . meta . bots . Abs Sender Ċ import Ġru . registration . bot . Message Service Ċ import Ġru . registration . bot . Registration Bot Command Ċ Ċ @ Component Ċ class ĠStart Command ( ĊĠĠĠ Ġprivate Ġval Ġmessages : ĠMessage Service Ċ ) Ġ: ĠRegistration Bot Command Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Command Identifier () Ġ= Ġ" start " ĊĊĠĠĠ Ġoverride Ġfun ĠgetDescription () Ġ= Ġ"" ĊĊĠĠĠ Ġoverride Ġfun Ġprocess Message ( abs Sender : ĠAbs Sender ?, Ġmessage : ĠMessage ?, Ġarguments : ĠArray < out ĠString > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġabs Sender ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecute ( abs Sender , Ġmessage . chat ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġexecute ( abs Sender : ĠAbs Sender , Ġchat : ĠChat ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġabs Sender . execute ( SendMessage ( chat . id , Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ${ messages . getMessage (" greeting ")} ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ${ messages . getMessage (" greeting _ new _ reg ")} ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ${ Emoji . POINT _ F ING ER _ RIGHT } Ġ/ new _ registration Ġ${ Emoji . POINT _ F ING ER _ LEFT } ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ${ messages . getMessage (" greeting _ remove _ draft ")} ĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ${ Emoji . POINT _ F ING ER _ RIGHT } Ġ/ remove _ draft Ġ${ Emoji . POINT _ F ING ER _ LEFT } ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Reply Markup ( registration Button ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġregistration Button (): ĠInline Keyboard Markup Ġ= ĊĠĠĠĠĠĠĠ ĠInline Keyboard Markup (). set Keyboard ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInline Keyboard Button () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setText ( messages . getMessage (" new _ reg _ btn ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Callback Data (" new _ registration ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) Ċ } Ċ