/ / Umgang mit undefinierten Typen im Telegram.org-API-Schema, wie "MessageMedia" - api, Telegramm

Umgang mit undefinierten Typen im Telegram.org API Schema, wie "MessageMedia" - api, Telegramm

Im Schema telegramm.org api, dem message Typ ist wie folgt definiert:

Nachricht # c09be45f Flags: # out: Flags.1? True erwähnt: flags.4? True media_unread: flags.5? True stumm: flags.13? True post: flags.14? True id: int from_id: flags.8? Int to_id: Peer fwd_from: flags.2? MessageFwdHeader via_Bot_ID: flags.11? Int Antwort_zu_msg_id: flags.3? Int date: int Nachricht: string media: flags.9? MessageMedia reply_markup: flags.6? ReplyMarkup entities: flags.7? Vektoransichten: flags.10? Int edit_date : flags.15? int = Nachricht;

Beachten Sie den optionalen Parameter media:flags.9?MessageMedia ist als Typ definiert MessageMedia. Aber nirgendwo ist es MessageMedia so definiert, dass mein Client nicht weiß, wie er es serialisieren / deserialisieren soll.

Welcher Typ ist? MessageMediaund wie gehe ich mit anderen Typen um, die möglicherweise nicht definiert sind?

Antworten:

0 für die Antwort № 1

Der beste Weg, dies zu verstehen, ist das media:flags.9?MessageMedia repräsentiert einen allgemeinen Typ oder wie sie sagen a base type welches könnte einer der folgenden Typen sein:

messageMediaEmpty#3ded6320 = MessageMedia;
messageMediaPhoto#3d8ce53d photo:Photo caption:string = MessageMedia;
messageMediaGeo#56e0d474 geo:GeoPoint = MessageMedia;
messageMediaContact#5e7d2f39 phone_number:string first_name:string last_name:string user_id:int = MessageMedia;
messageMediaUnsupported#9f84f49e = MessageMedia;
messageMediaDocument#f3e02ea8 document:Document caption:string = MessageMedia;
messageMediaWebPage#a32dd600 webpage:WebPage = MessageMedia;
messageMediaVenue#7912b71f geo:GeoPoint title:string address:string provider:string venue_id:string = MessageMedia;

Dieses Muster ist in der gesamten Telegram API üblich