From a741e98e7a4f1a13bf6d6cf6d33b0343700970fc Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 9 Sep 2015 18:34:30 +0300 Subject: [PATCH] api updated --- Telegram/SourceFiles/app.cpp | 2 +- Telegram/SourceFiles/mtproto/mtpScheme.cpp | 34 ++++- Telegram/SourceFiles/mtproto/mtpScheme.h | 139 +++++++++++++++++---- Telegram/SourceFiles/mtproto/scheme.tl | 8 +- 4 files changed, 152 insertions(+), 31 deletions(-) diff --git a/Telegram/SourceFiles/app.cpp b/Telegram/SourceFiles/app.cpp index fffaf8d85..c2f0f5e0a 100644 --- a/Telegram/SourceFiles/app.cpp +++ b/Telegram/SourceFiles/app.cpp @@ -486,7 +486,7 @@ namespace App { cdata->setPhoto(d.vphoto); cdata->date = d.vdate.v; cdata->count = d.vparticipants_count.v; - cdata->left = d.vleft.v; + cdata->left = false;// d.vflags.v & MTPDchat... d.vleft.v; cdata->forbidden = false; if (cdata->version < d.vversion.v) { cdata->version = d.vversion.v; diff --git a/Telegram/SourceFiles/mtproto/mtpScheme.cpp b/Telegram/SourceFiles/mtproto/mtpScheme.cpp index 6490087a4..cb0cabfbb 100644 --- a/Telegram/SourceFiles/mtproto/mtpScheme.cpp +++ b/Telegram/SourceFiles/mtproto/mtpScheme.cpp @@ -1221,8 +1221,7 @@ void mtpTextSerializeType(MTPStringLogger &to, const mtpPrime *&from, const mtpP case 2: to.add(" photo: "); ++stages.back(); types.push_back(0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; case 3: to.add(" participants_count: "); ++stages.back(); types.push_back(mtpc_int); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; case 4: to.add(" date: "); ++stages.back(); types.push_back(mtpc_int); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; - case 5: to.add(" left: "); ++stages.back(); types.push_back(0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; - case 6: to.add(" version: "); ++stages.back(); types.push_back(mtpc_int); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; + case 5: to.add(" version: "); ++stages.back(); types.push_back(mtpc_int); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; default: to.add("}"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); break; } break; @@ -1237,7 +1236,6 @@ void mtpTextSerializeType(MTPStringLogger &to, const mtpPrime *&from, const mtpP switch (stage) { case 0: to.add(" id: "); ++stages.back(); types.push_back(mtpc_int); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; case 1: to.add(" title: "); ++stages.back(); types.push_back(mtpc_string); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; - case 2: to.add(" date: "); ++stages.back(); types.push_back(mtpc_int); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; default: to.add("}"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); break; } break; @@ -1262,6 +1260,21 @@ void mtpTextSerializeType(MTPStringLogger &to, const mtpPrime *&from, const mtpP } break; + case mtpc_channelForbidden: + if (stage) { + to.add(",\n").addSpaces(lev); + } else { + to.add("{ channelForbidden"); + to.add("\n").addSpaces(lev); + } + switch (stage) { + case 0: to.add(" id: "); ++stages.back(); types.push_back(mtpc_int); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; + case 1: to.add(" access_hash: "); ++stages.back(); types.push_back(mtpc_long); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; + case 2: to.add(" title: "); ++stages.back(); types.push_back(mtpc_string); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; + default: to.add("}"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); break; + } + break; + case mtpc_chatFull: if (stage) { to.add(",\n").addSpaces(lev); @@ -2720,6 +2733,8 @@ void mtpTextSerializeType(MTPStringLogger &to, const mtpPrime *&from, const mtpP } switch (stage) { case 0: to.add(" webpage: "); ++stages.back(); types.push_back(0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; + case 1: to.add(" pts: "); ++stages.back(); types.push_back(mtpc_int); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; + case 2: to.add(" pts_count: "); ++stages.back(); types.push_back(mtpc_int); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; default: to.add("}"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); break; } break; @@ -5044,6 +5059,19 @@ void mtpTextSerializeType(MTPStringLogger &to, const mtpPrime *&from, const mtpP } break; + case mtpc_messages_reportSpam: + if (stage) { + to.add(",\n").addSpaces(lev); + } else { + to.add("{ messages_reportSpam"); + to.add("\n").addSpaces(lev); + } + switch (stage) { + case 0: to.add(" peer: "); ++stages.back(); types.push_back(0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; + default: to.add("}"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); break; + } + break; + case mtpc_messages_discardEncryption: if (stage) { to.add(",\n").addSpaces(lev); diff --git a/Telegram/SourceFiles/mtproto/mtpScheme.h b/Telegram/SourceFiles/mtproto/mtpScheme.h index e41dc1fb7..348fd3c52 100644 --- a/Telegram/SourceFiles/mtproto/mtpScheme.h +++ b/Telegram/SourceFiles/mtproto/mtpScheme.h @@ -133,9 +133,10 @@ enum { mtpc_userStatusLastWeek = 0x7bf09fc, mtpc_userStatusLastMonth = 0x77ebc742, mtpc_chatEmpty = 0x9ba2d800, - mtpc_chat = 0x6e9c9bc7, - mtpc_chatForbidden = 0xfb0ccc41, + mtpc_chat = 0xc7c02794, + mtpc_chatForbidden = 0x7328bdb, mtpc_channel = 0x1bcc63f2, + mtpc_channelForbidden = 0x2d85832c, mtpc_chatFull = 0x2e02a614, mtpc_channelFull = 0xb28da8f8, mtpc_chatParticipant = 0xc8d7493e, @@ -250,7 +251,7 @@ enum { mtpc_updateUserPhone = 0x12b9417b, mtpc_updateReadHistoryInbox = 0x9961fd5c, mtpc_updateReadHistoryOutbox = 0x2f2f21bf, - mtpc_updateWebPage = 0x2cc36971, + mtpc_updateWebPage = 0x7f891213, mtpc_updateReadMessagesContents = 0x68c13933, mtpc_updateChannelTooLong = 0x60946422, mtpc_updateChannelGroup = 0xc36c1e3c, @@ -478,6 +479,7 @@ enum { mtpc_messages_sendMessage = 0xfa88427a, mtpc_messages_sendMedia = 0xc8f16791, mtpc_messages_forwardMessages = 0x55e1728d, + mtpc_messages_reportSpam = 0xcf1592db, mtpc_messages_getChats = 0x27ae65b, mtpc_messages_getFullChat = 0x36a4dfe, mtpc_messages_editChatTitle = 0x6699d506, @@ -693,6 +695,7 @@ class MTPDchatEmpty; class MTPDchat; class MTPDchatForbidden; class MTPDchannel; +class MTPDchannelForbidden; class MTPchatFull; class MTPDchatFull; @@ -3163,6 +3166,18 @@ public: return *(const MTPDchannel*)data; } + MTPDchannelForbidden &_channelForbidden() { + if (!data) throw mtpErrorUninitialized(); + if (_type != mtpc_channelForbidden) throw mtpErrorWrongTypeId(_type, mtpc_channelForbidden); + split(); + return *(MTPDchannelForbidden*)data; + } + const MTPDchannelForbidden &c_channelForbidden() const { + if (!data) throw mtpErrorUninitialized(); + if (_type != mtpc_channelForbidden) throw mtpErrorWrongTypeId(_type, mtpc_channelForbidden); + return *(const MTPDchannelForbidden*)data; + } + uint32 innerLength() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); @@ -3176,11 +3191,13 @@ private: explicit MTPchat(MTPDchat *_data); explicit MTPchat(MTPDchatForbidden *_data); explicit MTPchat(MTPDchannel *_data); + explicit MTPchat(MTPDchannelForbidden *_data); friend MTPchat MTP_chatEmpty(MTPint _id); - friend MTPchat MTP_chat(MTPint _id, const MTPstring &_title, const MTPChatPhoto &_photo, MTPint _participants_count, MTPint _date, MTPBool _left, MTPint _version); - friend MTPchat MTP_chatForbidden(MTPint _id, const MTPstring &_title, MTPint _date); + friend MTPchat MTP_chat(MTPint _id, const MTPstring &_title, const MTPChatPhoto &_photo, MTPint _participants_count, MTPint _date, MTPint _version); + friend MTPchat MTP_chatForbidden(MTPint _id, const MTPstring &_title); friend MTPchat MTP_channel(MTPint _flags, MTPint _id, const MTPlong &_access_hash, const MTPstring &_title, const MTPstring &_username, const MTPChatPhoto &_photo, MTPint _date, MTPint _version); + friend MTPchat MTP_channelForbidden(MTPint _id, const MTPlong &_access_hash, const MTPstring &_title); mtpTypeId _type; }; @@ -5374,7 +5391,7 @@ private: friend MTPupdate MTP_updateUserPhone(MTPint _user_id, const MTPstring &_phone); friend MTPupdate MTP_updateReadHistoryInbox(const MTPPeer &_peer, MTPint _max_id, MTPint _pts, MTPint _pts_count); friend MTPupdate MTP_updateReadHistoryOutbox(const MTPPeer &_peer, MTPint _max_id, MTPint _pts, MTPint _pts_count); - friend MTPupdate MTP_updateWebPage(const MTPWebPage &_webpage); + friend MTPupdate MTP_updateWebPage(const MTPWebPage &_webpage, MTPint _pts, MTPint _pts_count); friend MTPupdate MTP_updateReadMessagesContents(const MTPVector &_messages, MTPint _pts, MTPint _pts_count); friend MTPupdate MTP_updateChannelTooLong(MTPint _channel_id); friend MTPupdate MTP_updateChannelGroup(MTPint _channel_id, const MTPMessageGroup &_group); @@ -9168,7 +9185,7 @@ class MTPDchat : public mtpDataImpl { public: MTPDchat() { } - MTPDchat(MTPint _id, const MTPstring &_title, const MTPChatPhoto &_photo, MTPint _participants_count, MTPint _date, MTPBool _left, MTPint _version) : vid(_id), vtitle(_title), vphoto(_photo), vparticipants_count(_participants_count), vdate(_date), vleft(_left), vversion(_version) { + MTPDchat(MTPint _id, const MTPstring &_title, const MTPChatPhoto &_photo, MTPint _participants_count, MTPint _date, MTPint _version) : vid(_id), vtitle(_title), vphoto(_photo), vparticipants_count(_participants_count), vdate(_date), vversion(_version) { } MTPint vid; @@ -9176,7 +9193,6 @@ public: MTPChatPhoto vphoto; MTPint vparticipants_count; MTPint vdate; - MTPBool vleft; MTPint vversion; }; @@ -9184,12 +9200,11 @@ class MTPDchatForbidden : public mtpDataImpl { public: MTPDchatForbidden() { } - MTPDchatForbidden(MTPint _id, const MTPstring &_title, MTPint _date) : vid(_id), vtitle(_title), vdate(_date) { + MTPDchatForbidden(MTPint _id, const MTPstring &_title) : vid(_id), vtitle(_title) { } MTPint vid; MTPstring vtitle; - MTPint vdate; }; class MTPDchannel : public mtpDataImpl { @@ -9215,6 +9230,18 @@ public: bool has_username() const { return vflags.v & flag_username; } }; +class MTPDchannelForbidden : public mtpDataImpl { +public: + MTPDchannelForbidden() { + } + MTPDchannelForbidden(MTPint _id, const MTPlong &_access_hash, const MTPstring &_title) : vid(_id), vaccess_hash(_access_hash), vtitle(_title) { + } + + MTPint vid; + MTPlong vaccess_hash; + MTPstring vtitle; +}; + class MTPDchatFull : public mtpDataImpl { public: MTPDchatFull() { @@ -10338,10 +10365,12 @@ class MTPDupdateWebPage : public mtpDataImpl { public: MTPDupdateWebPage() { } - MTPDupdateWebPage(const MTPWebPage &_webpage) : vwebpage(_webpage) { + MTPDupdateWebPage(const MTPWebPage &_webpage, MTPint _pts, MTPint _pts_count) : vwebpage(_webpage), vpts(_pts), vpts_count(_pts_count) { } MTPWebPage vwebpage; + MTPint vpts; + MTPint vpts_count; }; class MTPDupdateReadMessagesContents : public mtpDataImpl { @@ -15174,6 +15203,45 @@ public: } }; +class MTPmessages_reportSpam { // RPC method 'messages.reportSpam' +public: + MTPInputPeer vpeer; + + MTPmessages_reportSpam() { + } + MTPmessages_reportSpam(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_reportSpam) { + read(from, end, cons); + } + MTPmessages_reportSpam(const MTPInputPeer &_peer) : vpeer(_peer) { + } + + uint32 innerLength() const { + return vpeer.innerLength(); + } + mtpTypeId type() const { + return mtpc_messages_reportSpam; + } + void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_reportSpam) { + vpeer.read(from, end); + } + void write(mtpBuffer &to) const { + vpeer.write(to); + } + + typedef MTPBool ResponseType; +}; +class MTPmessages_ReportSpam : public MTPBoxed { +public: + MTPmessages_ReportSpam() { + } + MTPmessages_ReportSpam(const MTPmessages_reportSpam &v) : MTPBoxed(v) { + } + MTPmessages_ReportSpam(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { + } + MTPmessages_ReportSpam(const MTPInputPeer &_peer) : MTPBoxed(MTPmessages_reportSpam(_peer)) { + } +}; + class MTPmessages_getChats { // RPC method 'messages.getChats' public: MTPVector vid; @@ -19913,16 +19981,20 @@ inline uint32 MTPchat::innerLength() const { } case mtpc_chat: { const MTPDchat &v(c_chat()); - return v.vid.innerLength() + v.vtitle.innerLength() + v.vphoto.innerLength() + v.vparticipants_count.innerLength() + v.vdate.innerLength() + v.vleft.innerLength() + v.vversion.innerLength(); + return v.vid.innerLength() + v.vtitle.innerLength() + v.vphoto.innerLength() + v.vparticipants_count.innerLength() + v.vdate.innerLength() + v.vversion.innerLength(); } case mtpc_chatForbidden: { const MTPDchatForbidden &v(c_chatForbidden()); - return v.vid.innerLength() + v.vtitle.innerLength() + v.vdate.innerLength(); + return v.vid.innerLength() + v.vtitle.innerLength(); } case mtpc_channel: { const MTPDchannel &v(c_channel()); return v.vflags.innerLength() + v.vid.innerLength() + v.vaccess_hash.innerLength() + v.vtitle.innerLength() + (v.has_username() ? v.vusername.innerLength() : 0) + v.vphoto.innerLength() + v.vdate.innerLength() + v.vversion.innerLength(); } + case mtpc_channelForbidden: { + const MTPDchannelForbidden &v(c_channelForbidden()); + return v.vid.innerLength() + v.vaccess_hash.innerLength() + v.vtitle.innerLength(); + } } return 0; } @@ -19946,7 +20018,6 @@ inline void MTPchat::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId v.vphoto.read(from, end); v.vparticipants_count.read(from, end); v.vdate.read(from, end); - v.vleft.read(from, end); v.vversion.read(from, end); } break; case mtpc_chatForbidden: _type = cons; { @@ -19954,7 +20025,6 @@ inline void MTPchat::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId MTPDchatForbidden &v(_chatForbidden()); v.vid.read(from, end); v.vtitle.read(from, end); - v.vdate.read(from, end); } break; case mtpc_channel: _type = cons; { if (!data) setData(new MTPDchannel()); @@ -19968,6 +20038,13 @@ inline void MTPchat::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId v.vdate.read(from, end); v.vversion.read(from, end); } break; + case mtpc_channelForbidden: _type = cons; { + if (!data) setData(new MTPDchannelForbidden()); + MTPDchannelForbidden &v(_channelForbidden()); + v.vid.read(from, end); + v.vaccess_hash.read(from, end); + v.vtitle.read(from, end); + } break; default: throw mtpErrorUnexpected(cons, "MTPchat"); } } @@ -19984,14 +20061,12 @@ inline void MTPchat::write(mtpBuffer &to) const { v.vphoto.write(to); v.vparticipants_count.write(to); v.vdate.write(to); - v.vleft.write(to); v.vversion.write(to); } break; case mtpc_chatForbidden: { const MTPDchatForbidden &v(c_chatForbidden()); v.vid.write(to); v.vtitle.write(to); - v.vdate.write(to); } break; case mtpc_channel: { const MTPDchannel &v(c_channel()); @@ -20004,6 +20079,12 @@ inline void MTPchat::write(mtpBuffer &to) const { v.vdate.write(to); v.vversion.write(to); } break; + case mtpc_channelForbidden: { + const MTPDchannelForbidden &v(c_channelForbidden()); + v.vid.write(to); + v.vaccess_hash.write(to); + v.vtitle.write(to); + } break; } } inline MTPchat::MTPchat(mtpTypeId type) : mtpDataOwner(0), _type(type) { @@ -20012,6 +20093,7 @@ inline MTPchat::MTPchat(mtpTypeId type) : mtpDataOwner(0), _type(type) { case mtpc_chat: setData(new MTPDchat()); break; case mtpc_chatForbidden: setData(new MTPDchatForbidden()); break; case mtpc_channel: setData(new MTPDchannel()); break; + case mtpc_channelForbidden: setData(new MTPDchannelForbidden()); break; default: throw mtpErrorBadTypeId(type, "MTPchat"); } } @@ -20023,18 +20105,23 @@ inline MTPchat::MTPchat(MTPDchatForbidden *_data) : mtpDataOwner(_data), _type(m } inline MTPchat::MTPchat(MTPDchannel *_data) : mtpDataOwner(_data), _type(mtpc_channel) { } +inline MTPchat::MTPchat(MTPDchannelForbidden *_data) : mtpDataOwner(_data), _type(mtpc_channelForbidden) { +} inline MTPchat MTP_chatEmpty(MTPint _id) { return MTPchat(new MTPDchatEmpty(_id)); } -inline MTPchat MTP_chat(MTPint _id, const MTPstring &_title, const MTPChatPhoto &_photo, MTPint _participants_count, MTPint _date, MTPBool _left, MTPint _version) { - return MTPchat(new MTPDchat(_id, _title, _photo, _participants_count, _date, _left, _version)); +inline MTPchat MTP_chat(MTPint _id, const MTPstring &_title, const MTPChatPhoto &_photo, MTPint _participants_count, MTPint _date, MTPint _version) { + return MTPchat(new MTPDchat(_id, _title, _photo, _participants_count, _date, _version)); } -inline MTPchat MTP_chatForbidden(MTPint _id, const MTPstring &_title, MTPint _date) { - return MTPchat(new MTPDchatForbidden(_id, _title, _date)); +inline MTPchat MTP_chatForbidden(MTPint _id, const MTPstring &_title) { + return MTPchat(new MTPDchatForbidden(_id, _title)); } inline MTPchat MTP_channel(MTPint _flags, MTPint _id, const MTPlong &_access_hash, const MTPstring &_title, const MTPstring &_username, const MTPChatPhoto &_photo, MTPint _date, MTPint _version) { return MTPchat(new MTPDchannel(_flags, _id, _access_hash, _title, _username, _photo, _date, _version)); } +inline MTPchat MTP_channelForbidden(MTPint _id, const MTPlong &_access_hash, const MTPstring &_title) { + return MTPchat(new MTPDchannelForbidden(_id, _access_hash, _title)); +} inline uint32 MTPchatFull::innerLength() const { switch (_type) { @@ -22435,7 +22522,7 @@ inline uint32 MTPupdate::innerLength() const { } case mtpc_updateWebPage: { const MTPDupdateWebPage &v(c_updateWebPage()); - return v.vwebpage.innerLength(); + return v.vwebpage.innerLength() + v.vpts.innerLength() + v.vpts_count.innerLength(); } case mtpc_updateReadMessagesContents: { const MTPDupdateReadMessagesContents &v(c_updateReadMessagesContents()); @@ -22649,6 +22736,8 @@ inline void MTPupdate::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeI if (!data) setData(new MTPDupdateWebPage()); MTPDupdateWebPage &v(_updateWebPage()); v.vwebpage.read(from, end); + v.vpts.read(from, end); + v.vpts_count.read(from, end); } break; case mtpc_updateReadMessagesContents: _type = cons; { if (!data) setData(new MTPDupdateReadMessagesContents()); @@ -22845,6 +22934,8 @@ inline void MTPupdate::write(mtpBuffer &to) const { case mtpc_updateWebPage: { const MTPDupdateWebPage &v(c_updateWebPage()); v.vwebpage.write(to); + v.vpts.write(to); + v.vpts_count.write(to); } break; case mtpc_updateReadMessagesContents: { const MTPDupdateReadMessagesContents &v(c_updateReadMessagesContents()); @@ -23063,8 +23154,8 @@ inline MTPupdate MTP_updateReadHistoryInbox(const MTPPeer &_peer, MTPint _max_id inline MTPupdate MTP_updateReadHistoryOutbox(const MTPPeer &_peer, MTPint _max_id, MTPint _pts, MTPint _pts_count) { return MTPupdate(new MTPDupdateReadHistoryOutbox(_peer, _max_id, _pts, _pts_count)); } -inline MTPupdate MTP_updateWebPage(const MTPWebPage &_webpage) { - return MTPupdate(new MTPDupdateWebPage(_webpage)); +inline MTPupdate MTP_updateWebPage(const MTPWebPage &_webpage, MTPint _pts, MTPint _pts_count) { + return MTPupdate(new MTPDupdateWebPage(_webpage, _pts, _pts_count)); } inline MTPupdate MTP_updateReadMessagesContents(const MTPVector &_messages, MTPint _pts, MTPint _pts_count) { return MTPupdate(new MTPDupdateReadMessagesContents(_messages, _pts, _pts_count)); diff --git a/Telegram/SourceFiles/mtproto/scheme.tl b/Telegram/SourceFiles/mtproto/scheme.tl index 3956af215..6423ffb41 100644 --- a/Telegram/SourceFiles/mtproto/scheme.tl +++ b/Telegram/SourceFiles/mtproto/scheme.tl @@ -216,9 +216,10 @@ userStatusLastWeek#7bf09fc = UserStatus; userStatusLastMonth#77ebc742 = UserStatus; chatEmpty#9ba2d800 id:int = Chat; -chat#6e9c9bc7 id:int title:string photo:ChatPhoto participants_count:int date:int left:Bool version:int = Chat; -chatForbidden#fb0ccc41 id:int title:string date:int = Chat; +chat#c7c02794 id:int title:string photo:ChatPhoto participants_count:int date:int version:int = Chat; +chatForbidden#7328bdb id:int title:string = Chat; channel#1bcc63f2 flags:# id:int access_hash:long title:string username:flags.2?string photo:ChatPhoto date:int version:int = Chat; +channelForbidden#2d85832c id:int access_hash:long title:string = Chat; chatFull#2e02a614 id:int participants:ChatParticipants chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector = ChatFull; channelFull#b28da8f8 id:int participants:ChatParticipants about:string read_inbox_max_id:int unread_count:int unread_important_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite = ChatFull; @@ -373,7 +374,7 @@ updatePrivacy#ee3b272a key:PrivacyKey rules:Vector = Update; updateUserPhone#12b9417b user_id:int phone:string = Update; updateReadHistoryInbox#9961fd5c peer:Peer max_id:int pts:int pts_count:int = Update; updateReadHistoryOutbox#2f2f21bf peer:Peer max_id:int pts:int pts_count:int = Update; -updateWebPage#2cc36971 webpage:WebPage = Update; +updateWebPage#7f891213 webpage:WebPage pts:int pts_count:int = Update; updateReadMessagesContents#68c13933 messages:Vector pts:int pts_count:int = Update; updateChannelTooLong#60946422 channel_id:int = Update; updateChannelGroup#c36c1e3c channel_id:int group:MessageGroup = Update; @@ -675,6 +676,7 @@ messages.setTyping#a3825e50 peer:InputPeer action:SendMessageAction = Bool; messages.sendMessage#fa88427a flags:# peer:InputPeer reply_to_msg_id:flags.0?int message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector = Updates; messages.sendMedia#c8f16791 flags:# peer:InputPeer reply_to_msg_id:flags.0?int media:InputMedia random_id:long reply_markup:flags.2?ReplyMarkup = Updates; messages.forwardMessages#55e1728d peer:InputPeer id:Vector random_id:Vector = Updates; +messages.reportSpam#cf1592db peer:InputPeer = Bool; messages.getChats#27ae65b id:Vector = messages.Chats; messages.getFullChat#36a4dfe chat_id:InputChat = messages.ChatFull; messages.editChatTitle#6699d506 chat_id:InputChat title:string = Updates;