package Ġdev . in mo . tg bot api . types . update Ċ Ċ import Ġdev . in mo . tg bot api . types .* Ċ import Ġdev . in mo . tg bot api . types . Callback Query . Raw Callback Query Ċ import Ġdev . in mo . tg bot api . types . Inline Queries . Ch osen Inline Result . Raw Ch osen Inline Result Ċ import Ġdev . in mo . tg bot api . types . Inline Queries . query . Raw Inline Query Ċ import Ġdev . in mo . tg bot api . types . message . abstract s .* Ċ import Ġdev . in mo . tg bot api . types . payments . Pre Checkout Query Ċ import Ġdev . in mo . tg bot api . types . payments . Shipping Query Ċ import Ġdev . in mo . tg bot api . types . pol ls . Poll Ċ import Ġdev . in mo . tg bot api . types . pol ls . Poll Answer Ċ import Ġdev . in mo . tg bot api . types . update . abstract s . Unknown Update Ċ import Ġdev . in mo . tg bot api . types . update . abstract s . Update Ċ import Ġkotlinx . serialization .* Ċ import Ġkotlinx . serialization . json . Json Element Ċ import Ġkotlinx . serialization . json . jsonObject Ċ Ċ @ Serializable Ċ internal Ġdata Ġclass ĠRaw Update Ġconstructor ( ĊĠĠĠ Ġ@ Serial Name ( update Id Field ) ĊĠĠĠ Ġval Ġupdate Id : ĠUpdate Identifier , ĊĠĠĠ Ġ@ Serializable ( Telegram Bot API Message Deserialize Only Serializer :: class ) ĊĠĠĠ Ġprivate Ġval Ġedited _ message : ĠCommon Message < *> ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serializable ( Telegram Bot API Message Deserialize Only Serializer :: class ) ĊĠĠĠ Ġprivate Ġval Ġmessage : ĠMessage ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serializable ( Telegram Bot API Message Deserialize Only Serializer :: class ) ĊĠĠĠ Ġprivate Ġval Ġedited _ channel _ post : ĠCommon Message < *> ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serializable ( Telegram Bot API Message Deserialize Only Serializer :: class ) ĊĠĠĠ Ġprivate Ġval Ġchannel _ post : ĠMessage ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġinline _ query : ĠRaw Inline Query ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġchosen _ inline _ result : ĠRaw Ch osen Inline Result ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġcallback _ query : ĠRaw Callback Query ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġshipping _ query : ĠSh ipping Query ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġpre _ checkout _ query : ĠPre Checkout Query ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġpoll : ĠPoll ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġpoll _ answer : ĠPoll Answer ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġmy _ chat _ member : ĠChat Member Updated ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġchat _ member : ĠChat Member Updated ? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġinit ed Update : ĠUpdate ? Ġ= Ġnull ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ return ĠOne Ġof Ġchildren Ġof Ġ[ Update ] Ġinterface Ġor Ġnull Ġin Ġcase Ġof Ġunknown Ġtype Ġof Ġupdate ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġas Update ( raw : ĠJson Element ): ĠUpdate Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinit ed Update Ġ?: Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedited _ message Ġ!= Ġnull Ġ-> ĠEdit Message Update ( update Id , Ġedited _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ!= Ġnull Ġ-> ĠMessage Update ( update Id , Ġmessage ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedited _ channel _ post Ġ!= Ġnull Ġ-> ĠEdit Channel Post Update ( update Id , Ġedited _ channel _ post ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchannel _ post Ġ!= Ġnull Ġ-> ĠChannel Post Update ( update Id , Ġchannel _ post ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchosen _ inline _ result Ġ!= Ġnull Ġ-> ĠCh osen Inline Result Update ( update Id , Ġchosen _ inline _ result . as Ch osen Inline Result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinline _ query Ġ!= Ġnull Ġ-> ĠInline Query Update ( update Id , Ġinline _ query . as Inline Query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback _ query Ġ!= Ġnull Ġ-> ĠCallback Query Update ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback _ query . as Callback Query ( raw . jsonObject [" callback _ query "]. toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshipping _ query Ġ!= Ġnull Ġ-> ĠSh ipping Query Update ( update Id , Ġshipping _ query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpre _ checkout _ query Ġ!= Ġnull Ġ-> ĠPre Checkout Query Update ( update Id , Ġpre _ checkout _ query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpoll Ġ!= Ġnull Ġ-> ĠPoll Update ( update Id , Ġpoll ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpoll _ answer Ġ!= Ġnull Ġ-> ĠPoll Answer Update ( update Id , Ġpoll _ answer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy _ chat _ member Ġ!= Ġnull Ġ-> ĠMy Chat Member Updated Update ( update Id , Ġmy _ chat _ member ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchat _ member Ġ!= Ġnull Ġ-> ĠCommon Chat Member Updated Update ( update Id , Ġchat _ member ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠUnknown Update ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġraw . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġraw ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠError ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( e ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSerialization Exception , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNotImplementedError Ġ-> ĠUnknown Update ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġraw . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġraw ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow Ġe ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit ed Update Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ