package Ġro cks . w aff le . tele kt . types . reply markup Ċ Ċ import Ġkotlinx . serialization .* Ċ import Ġro cks . w aff le . tele kt . util . Reply Keyboard Markup ĊĊ Ċ @ Serializable ( with Ġ= ĠReply Markup Serializer :: class ) Ġsealed Ġclass ĠReply Markup Ċ Ċ @ Serializer ( for Class Ġ= ĠReply Markup :: class ) Ġobject ĠReply Markup Serializer Ġ: ĠK Serializer < Reply Markup > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġserialize ( encoder : ĠEncoder , Ġobj : ĠReply Markup ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( obj ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInline Keyboard Markup Ġ-> ĠInline Keyboard Markup . serializer (). serialize ( encoder , Ġobj ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠReply Keyboard Markup Ġ-> ĠReply Keyboard Markup . serializer (). serialize ( encoder , Ġobj ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠReply Keyboard Remove Ġ-> ĠReply Keyboard Remove . serializer (). serialize ( encoder , Ġobj ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠForce Reply Ġ-> ĠForce Reply . serializer (). serialize ( encoder , Ġobj ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** ĠThis Ġobject Ġrepresents Ġan Ġinline Ġkeyboard Ġthat Ġappears Ġright Ġnext Ġto Ġthe Ġmessage Ġit Ġbelongs Ġto . Ġ*/ Ċ @ Serializable ( with Ġ= ĠInline Keyboard Markup Serializer :: class ) Ġdata Ġclass ĠInline Keyboard Markup ( ĊĠĠĠ Ġ@ Serial Name (" inline _ keyboard ") Ġval Ġinline Keyboard : ĠList < List < Inline Keyboard Button >> Ċ ) Ġ: ĠReply Markup () Ċ Ċ @ Serializer ( for Class Ġ= ĠInline Keyboard Markup :: class ) Ġobject ĠInline Keyboard Markup Serializer Ġ: ĠK Serializer < Inline Keyboard Markup > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( decoder : ĠDecoder ) Ġ= ĠInline Keyboard Markup ( decoder . decode Serializable Value ( Inline Keyboard Button . serializer (). list . list )) Ċ } Ċ Ċ /** Ċ Ġ* ĠUp on Ġreceiving Ġa Ġmessage Ġwith Ġthis Ġobject , ĠTelegram Ġclients Ġwill Ġremove Ġthe Ġcurrent Ġcustom Ġkeyboard Ġand Ġdisplay Ġthe Ġdefault Ġletter - keyboard . Ċ Ġ* ĠBy Ġdefault , Ġcustom Ġkeyboard s Ġare Ġdisplayed Ġuntil Ġa Ġnew Ġkeyboard Ġis Ġsent Ġby Ġa Ġbot . Ċ Ġ* ĠAn Ġexception Ġis Ġmade Ġfor Ġone - time Ġkeyboard s Ġthat Ġare Ġhidden Ġimmediately Ġafter Ġthe Ġuser Ġp resses Ġa Ġbutton Ġ( see Ġ[ Reply Keyboard Markup ]). Ċ Ġ*/ Ċ @ Serializable Ġdata Ġclass ĠReply Keyboard Remove ( val Ġselect ive : ĠBoolean ? Ġ= Ġnull ) Ġ: ĠReply Markup () Ġ{ ĊĠĠĠ Ġ@ Serial Name (" remove _ keyboard ") Ġval Ġremove Keyboard Ġ= Ġtrue Ċ } Ċ Ċ /** ĠThis Ġobject Ġrepresents Ġa Ġcustom Ġkeyboard Ġwith Ġreply Ġoptions Ġ( see ĠIntroduction Ġto Ġbots Ġfor Ġdetails Ġand Ġexamples ). Ġ*/ Ċ @ Serializable Ġdata Ġclass ĠReply Keyboard Markup ( ĊĠĠĠ Ġval Ġkeyboard : ĠList < List < Keyboard Button >>, ĊĠĠĠ Ġ@ Serial Name (" resize _ keyboard ") Ġval Ġresize Keyboard : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serial Name (" one _ time _ keyboard ") Ġval Ġone Time Keyboard : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġselect ive : ĠBoolean ? Ġ= Ġnull Ċ ) Ġ: ĠReply Markup () Ċ Ċ /** Ċ Ġ* ĠUp on Ġreceiving Ġa Ġmessage Ġwith Ġthis Ġobject , ĠTelegram Ġclients Ġwill Ġdisplay Ġa Ġreply Ġinterface Ġto Ġthe Ġuser Ċ Ġ* Ġ( act Ġas Ġif Ġthe Ġuser Ġhas Ġselected Ġthe Ġbot âĢĺ s Ġmessage Ġand Ġt apped Ġ âĢĻ Reply '). Ċ Ġ* ĠThis Ġcan Ġbe Ġextremely Ġuseful Ġif Ġyou Ġwant Ġto Ġcreate Ġuser - friendly Ġstep - by - step Ġinterfaces Ġwithout Ġhaving Ġto Ġs ac rif ice Ġprivacy Ġmode . Ċ Ġ*/ Ċ @ Serializable Ġdata Ġclass ĠForce Reply ( ĊĠĠĠ Ġ@ Serial Name (" force _ reply ") Ġval Ġforce Reply : ĠBoolean , ĊĠĠĠ Ġval Ġselect ive : ĠBoolean ? Ġ= Ġnull Ċ ) Ġ: ĠReply Markup () Ċ