package Ġdev . in mo . tg bot api . types . message . abstract s Ċ Ċ import Ġdev . in mo . tg bot api . types . Message Identifier Ċ import Ġdev . in mo . tg bot api . types . chat . abstract s . Chat Ċ import Ġdev . in mo . tg bot api . types . message . Raw Message Ċ import Ġcom . so y wiz . k lock . DateTime Ċ import Ġkotlinx . serialization .* Ċ import Ġkotlinx . serialization . descriptors .* Ċ import Ġkotlinx . serialization . encoding . Decoder Ċ import Ġkotlinx . serialization . encoding . Encoder Ċ Ċ interface ĠMessage Ġ{ ĊĠĠĠ Ġval ĠmessageId : ĠMessage Identifier ĊĠĠĠ Ġval Ġchat : ĠChat ĊĠĠĠ Ġval Ġdate : ĠDateTime Ċ } Ċ Ċ data Ġclass ĠUnknown MessageType ( ĊĠĠĠ Ġoverride Ġval ĠmessageId : ĠMessage Identifier , ĊĠĠĠ Ġoverride Ġval Ġchat : ĠChat , ĊĠĠĠ Ġoverride Ġval Ġdate : ĠDateTime , ĊĠĠĠ Ġval Ġinside Exception : ĠException Ċ ) Ġ: ĠMessage Ċ Ċ internal Ġclass ĠTelegram Bot API Message Deserialization Strategy Class < T > Ġ: ĠDeserial ization Strategy < T > Ġ{ ĊĠĠĠ Ġ@ Internal Serialization Api ĊĠĠĠ Ġoverride Ġval Ġdescriptor : ĠSerial Descriptor Ġ= Ġbuild Serial Descriptor (" Telegram Bot API Message Serializer ", ĠPol ymorphic Kind . OPEN ) ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( decoder : ĠDecoder ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRaw Message . serializer (). deserialize ( decoder ). as Message Ġas ĠT ĊĠĠĠ Ġ} Ċ } Ċ internal Ġobject ĠTelegram Bot API Message Deserialization Strategy ĊĠĠĠ Ġ: ĠDeserial ization Strategy < Message > Ġby ĠTelegram Bot API Message Deserialization Strategy Class () Ċ Ċ internal Ġclass ĠTelegram Bot API Message Deserialize Only Serializer Class < T Ġ: ĠMessage > Ġ: ĠK Serializer < T > Ġ{ ĊĠĠĠ Ġprivate Ġval Ġde serializer Ġ= ĠTelegram Bot API Message Deserialization Strategy Class < T >() ĊĠĠĠ Ġ@ Internal Serialization Api ĊĠĠĠ Ġoverride Ġval Ġdescriptor : ĠSerial Descriptor ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġde serializer . descriptor ĊĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( decoder : ĠDecoder ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġde serializer . deserialize ( decoder ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġserialize ( encoder : ĠEncoder , Ġvalue : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Currently , ĠMessage Ġobjects Ġcan 't Ġbe Ġserialized Ġy Ġthis Ġserializer ") ĊĠĠĠ Ġ} Ċ } Ċ internal Ġobject ĠTelegram Bot API Message Deserialize Only Serializer ĊĠĠĠ Ġ: ĠK Serializer < Message > Ġby ĠTelegram Bot API Message Deserialize Only Serializer Class () Ċ