package Ġdev . in mo . tg bot api . types . commands Ċ Ċ import Ġdev . in mo . tg bot api . types .* Ċ import Ġkotlinx . serialization .* Ċ import Ġkotlinx . serialization . descriptors . Serial Descriptor Ċ import Ġkotlinx . serialization . encoding . Decoder Ċ import Ġkotlinx . serialization . encoding . Encoder Ċ Ċ @ Serializable Ċ private Ġclass ĠSur rogate Bot Command Scope ( ĊĠĠĠ Ġ@ Serial Name ( type Field ) ĊĠĠĠ Ġ@ Required ĊĠĠĠ Ġval Ġtype : ĠString , ĊĠĠĠ Ġ@ Serial Name ( chat Id Field ) ĊĠĠĠ Ġval Ġchat Id : ĠChat Identifier ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serial Name ( userId Field ) ĊĠĠĠ Ġval ĠuserId : ĠUserId ? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġas Bot Command Scope () Ġ= Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBot Command Scope Default . type Ġ-> ĠBot Command Scope Default ĊĠĠĠĠĠĠĠ ĠBot Command Scope All Private Ch ats . type Ġ-> ĠBot Command Scope All Private Ch ats ĊĠĠĠĠĠĠĠ ĠBot Command Scope All Group Ch ats . type Ġ-> ĠBot Command Scope All Group Ch ats ĊĠĠĠĠĠĠĠ ĠBot Command Scope All Chat Administr ators . type Ġ-> ĠBot Command Scope All Chat Administr ators ĊĠĠĠĠĠĠĠ ĠBot Command Scope Chat Administr ators . type Ġ-> ĠBot Command Scope Chat Administr ators ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat Id Ġ?: Ġerror (" chat _ administr ators Ġtype Ġmust Ġhave Ġ$ chat Id Field Ġfield , Ġbut Ġhave Ġno ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠBot Command Scope Chat Member . type Ġ-> ĠBot Command Scope Chat Member ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat Id Ġ?: Ġerror (" chat _ administr ators Ġtype Ġmust Ġhave Ġ$ chat Id Field Ġfield , Ġbut Ġhave Ġno "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ?: Ġerror (" chat _ administr ators Ġtype Ġmust Ġhave Ġ$ userId Field Ġfield , Ġbut Ġhave Ġno ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠUnknown Bot Command Scope ( type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom ( scope : ĠBot Command Scope ) Ġ= Ġwhen Ġ( scope ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠUnknown Bot Command Scope , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBot Command Scope Default , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBot Command Scope All Private Ch ats , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBot Command Scope All Group Ch ats , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBot Command Scope All Chat Administr ators Ġ-> ĠSur rogate Bot Command Scope ( scope . type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBot Command Scope Chat Administr ators Ġ-> ĠSur rogate Bot Command Scope ( scope . type , Ġscope . chat Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBot Command Scope Chat Member Ġ-> ĠSur rogate Bot Command Scope ( scope . type , Ġscope . chat Id , Ġscope . userId ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Serializable ( Bot Command Scope Serializer :: class ) Ċ sealed Ġinterface ĠBot Command Scope Ġ{ ĊĠĠĠ Ġval Ġtype : ĠString Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠUnknown Bot Command Scope Ġinternal Ġconstructor ( ĊĠĠĠ Ġoverride Ġval Ġtype : ĠString Ċ ) Ġ: ĠBot Command Scope Ċ Ċ @ Serializable Ċ object ĠBot Command Scope Default Ġ: ĠBot Command Scope Ġ{ ĊĠĠĠ Ġ@ Required ĊĠĠĠ Ġoverride Ġval Ġtype : ĠString Ġ= Ġ" default " Ċ } Ċ Ċ @ Serializable Ċ object ĠBot Command Scope All Private Ch ats Ġ: ĠBot Command Scope Ġ{ ĊĠĠĠ Ġ@ Required ĊĠĠĠ Ġoverride Ġval Ġtype : ĠString Ġ= Ġ" all _ private _ ch ats " Ċ } Ċ Ċ @ Serializable Ċ object ĠBot Command Scope All Group Ch ats Ġ: ĠBot Command Scope Ġ{ ĊĠĠĠ Ġ@ Required ĊĠĠĠ Ġoverride Ġval Ġtype : ĠString Ġ= Ġ" all _ group _ ch ats " Ċ } Ċ Ċ @ Serializable Ċ object ĠBot Command Scope All Chat Administr ators Ġ: ĠBot Command Scope Ġ{ ĊĠĠĠ Ġ@ Required ĊĠĠĠ Ġoverride Ġval Ġtype : ĠString Ġ= Ġ" all _ chat _ administr ators " Ċ } ĊĊ Ċ sealed Ġinterface ĠChat Bot Command Scope Ġ: ĠBot Command Scope Ġ{ ĊĠĠĠ Ġval Ġchat Id : ĠChat Identifier Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠBot Command Scope Chat Administr ators ( ĊĠĠĠ Ġoverride Ġval Ġchat Id : ĠChat Identifier Ċ ) Ġ: ĠChat Bot Command Scope Ġ{ ĊĠĠĠ Ġ@ Required ĊĠĠĠ Ġoverride Ġval Ġtype : ĠString Ġ= ĠBot Command Scope Chat Administr ators . type ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġtype Ġ= Ġ" chat _ administr ators " ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠBot Command Scope Chat Member ( ĊĠĠĠ Ġoverride Ġval Ġchat Id : ĠChat Identifier , ĊĠĠĠ Ġval ĠuserId : ĠUserId Ċ ) Ġ: ĠChat Bot Command Scope Ġ{ ĊĠĠĠ Ġ@ Required ĊĠĠĠ Ġoverride Ġval Ġtype : ĠString Ġ= ĠBot Command Scope Chat Member . type ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġtype Ġ= Ġ" chat _ member " ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ object ĠBot Command Scope Serializer Ġ: ĠK Serializer < Bot Command Scope > Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġdescriptor : ĠSerial Descriptor Ġ= ĠSur rogate Bot Command Scope . serializer (). descriptor ĊĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( ĊĠĠĠĠĠĠĠ Ġdecoder : ĠDecoder ĊĠĠĠ Ġ): ĠBot Command Scope Ġ= ĠSur rogate Bot Command Scope . serializer (). deserialize ( decoder ). as Bot Command Scope () ĊĊĠĠĠ Ġoverride Ġfun Ġserialize ( encoder : ĠEncoder , Ġvalue : ĠBot Command Scope ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSur rogate Bot Command Scope . serializer (). serialize ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġencoder , ĠSur rogate Bot Command Scope . from ( value ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ