From 8cde13fb8ce4504d5cd517f656a1656ece88c4ea Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 30 Mar 2016 21:13:07 +0400 Subject: [PATCH] Scheme updated, not channel messages editing updates handled. --- Telegram/SourceFiles/boxes/photosendbox.cpp | 8 +- Telegram/SourceFiles/historywidget.cpp | 10 +- Telegram/SourceFiles/mainwidget.cpp | 14 + Telegram/SourceFiles/mtproto/scheme.tl | 9 +- Telegram/SourceFiles/mtproto/scheme_auto.cpp | 123 ++--- Telegram/SourceFiles/mtproto/scheme_auto.h | 446 +++++++++++-------- 6 files changed, 350 insertions(+), 260 deletions(-) diff --git a/Telegram/SourceFiles/boxes/photosendbox.cpp b/Telegram/SourceFiles/boxes/photosendbox.cpp index f3a202ccc..6dc433b75 100644 --- a/Telegram/SourceFiles/boxes/photosendbox.cpp +++ b/Telegram/SourceFiles/boxes/photosendbox.cpp @@ -648,15 +648,15 @@ void EditCaptionBox::onSave(bool ctrlShiftEnter) { return; } - MTPchannels_EditMessage::Flags flags = 0; + MTPmessages_EditMessage::Flags flags = 0; if (_previewCancelled) { - flags |= MTPchannels_EditMessage::Flag::f_no_webpage; + flags |= MTPmessages_EditMessage::Flag::f_no_webpage; } MTPVector sentEntities; if (!sentEntities.c_vector().v.isEmpty()) { - flags |= MTPchannels_EditMessage::Flag::f_entities; + flags |= MTPmessages_EditMessage::Flag::f_entities; } - _saveRequestId = MTP::send(MTPchannels_EditMessage(MTP_flags(flags), item->history()->peer->asChannel()->inputChannel, MTP_int(item->id), MTP_string(_field->getLastText()), sentEntities), rpcDone(&EditCaptionBox::saveDone), rpcFail(&EditCaptionBox::saveFail)); + _saveRequestId = MTP::send(MTPmessages_EditMessage(MTP_flags(flags), item->history()->peer->input, MTP_int(item->id), MTP_string(_field->getLastText()), sentEntities, MTPnullMarkup), rpcDone(&EditCaptionBox::saveDone), rpcFail(&EditCaptionBox::saveFail)); } void EditCaptionBox::saveDone(const MTPUpdates &updates) { diff --git a/Telegram/SourceFiles/historywidget.cpp b/Telegram/SourceFiles/historywidget.cpp index 34d20e2d6..55a7960da 100644 --- a/Telegram/SourceFiles/historywidget.cpp +++ b/Telegram/SourceFiles/historywidget.cpp @@ -4577,15 +4577,15 @@ void HistoryWidget::saveEditMsg() { return; } - MTPchannels_EditMessage::Flags sendFlags = 0; + MTPmessages_EditMessage::Flags sendFlags = 0; if (webPageId == CancelledWebPageId) { - sendFlags |= MTPchannels_EditMessage::Flag::f_no_webpage; + sendFlags |= MTPmessages_EditMessage::Flag::f_no_webpage; } MTPVector localEntities = linksToMTP(sendingEntities), sentEntities = linksToMTP(sendingEntities, true); if (!sentEntities.c_vector().v.isEmpty()) { - sendFlags |= MTPchannels_EditMessage::Flag::f_entities; + sendFlags |= MTPmessages_EditMessage::Flag::f_entities; } - _saveEditMsgRequestId = MTP::send(MTPchannels_EditMessage(MTP_flags(sendFlags), _history->peer->asChannel()->inputChannel, MTP_int(_editMsgId), MTP_string(sendingText), sentEntities), rpcDone(&HistoryWidget::saveEditMsgDone, _history), rpcFail(&HistoryWidget::saveEditMsgFail, _history)); + _saveEditMsgRequestId = MTP::send(MTPmessages_EditMessage(MTP_flags(sendFlags), _history->peer->input, MTP_int(_editMsgId), MTP_string(sendingText), sentEntities, MTPnullMarkup), rpcDone(&HistoryWidget::saveEditMsgDone, _history), rpcFail(&HistoryWidget::saveEditMsgFail, _history)); } void HistoryWidget::saveEditMsgDone(History *history, const MTPUpdates &updates, mtpRequestId req) { @@ -7077,7 +7077,7 @@ void HistoryWidget::onReplyToMessage() { void HistoryWidget::onEditMessage() { HistoryItem *to = App::contextItem(); - if (!to || !to->history()->peer->isChannel()) return; + if (!to) return; EditCaptionBox *box = new EditCaptionBox(to); if (box->captionFound()) { diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp index 94a600977..921fe7f76 100644 --- a/Telegram/SourceFiles/mainwidget.cpp +++ b/Telegram/SourceFiles/mainwidget.cpp @@ -4627,6 +4627,20 @@ void MainWidget::feedUpdate(const MTPUpdate &update) { } } break; + case mtpc_updateEditMessage: { + const MTPDupdateEditMessage &d(update.c_updateEditMessage()); + + if (!ptsUpdated(d.vpts.v, d.vpts_count.v, update)) { + return; + } + + // update before applying skipped + if (d.vmessage.type() == mtpc_message) { // apply message edit + App::updateEditedMessage(d.vmessage.c_message()); + } + ptsApplySkippedUpdates(); + } break; + case mtpc_updateChannelPinnedMessage: { const MTPDupdateChannelPinnedMessage &d(update.c_updateChannelPinnedMessage()); diff --git a/Telegram/SourceFiles/mtproto/scheme.tl b/Telegram/SourceFiles/mtproto/scheme.tl index 204de380b..a0e2a46bb 100644 --- a/Telegram/SourceFiles/mtproto/scheme.tl +++ b/Telegram/SourceFiles/mtproto/scheme.tl @@ -388,6 +388,7 @@ updateBotInlineSend#f69e113 user_id:int query:string id:string = Update; updateEditChannelMessage#1b3f4df7 message:Message pts:int pts_count:int = Update; updateChannelPinnedMessage#98592475 channel_id:int id:int = Update; updateBotCallbackQuery#5024c2b0 query_id:long user_id:int peer:Peer msg_id:int text:string = Update; +updateEditMessage#e40370a3 message:Message pts:int pts_count:int = Update; updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State; @@ -649,8 +650,6 @@ exportedMessageLink#1f486803 link:string = ExportedMessageLink; messageFwdHeader#c786ddcb flags:# from_id:flags.0?int date:int channel_id:flags.1?int channel_post:flags.2?int = MessageFwdHeader; -channels.messageEditData#67e1255f flags:# caption:flags.0?true = channels.MessageEditData; - auth.codeTypeSms#72a3158c = auth.CodeType; auth.codeTypeCall#741cd3e3 = auth.CodeType; auth.codeTypeFlashCall#226ccefb = auth.CodeType; @@ -662,6 +661,8 @@ auth.sentCodeTypeFlashCall#ab03c6d9 pattern:string = auth.SentCodeType; messages.botCallbackAnswer#b4868d29 message:string = messages.BotCallbackAnswer; +messages.messageEditData#26b5dde6 flags:# caption:flags.0?true = messages.MessageEditData; + ---functions--- invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X; @@ -786,6 +787,8 @@ messages.saveGif#327a30cb id:InputDocument unsave:Bool = Bool; messages.getInlineBotResults#9324600d bot:InputUser query:string offset:string = messages.BotResults; messages.setInlineBotResults#3f23ec12 flags:# gallery:flags.0?true private:flags.1?true query_id:long results:Vector cache_time:int next_offset:flags.2?string = Bool; messages.sendInlineBotResult#b16e06fe flags:# broadcast:flags.4?true silent:flags.5?true background:flags.6?true peer:InputPeer reply_to_msg_id:flags.0?int random_id:long query_id:long id:string = Updates; +messages.getMessageEditData#fda68d36 peer:InputPeer id:int = messages.MessageEditData; +messages.editMessage#d2003257 flags:# no_webpage:flags.1?true peer:InputPeer id:int message:string entities:flags.3?Vector reply_markup:flags.2?ReplyMarkup = Updates; messages.getBotCallbackAnswer#d3157edf peer:InputPeer msg_id:int text:string = messages.BotCallbackAnswer; messages.setBotCallbackAnswer#a13a9254 query_id:long message:string = Bool; @@ -839,6 +842,4 @@ channels.deleteChannel#c0111fe3 channel:InputChannel = Updates; channels.toggleInvites#49609307 channel:InputChannel enabled:Bool = Updates; channels.exportMessageLink#c846d22d channel:InputChannel id:int = ExportedMessageLink; channels.toggleSignatures#1f69b606 channel:InputChannel enabled:Bool = Updates; -channels.getMessageEditData#27ea3a28 channel:InputChannel id:int = channels.MessageEditData; -channels.editMessage#dcda80ed flags:# no_webpage:flags.1?true channel:InputChannel id:int message:string entities:flags.3?Vector = Updates; channels.updatePinnedMessage#a72ded52 flags:# silent:flags.0?true channel:InputChannel id:int = Updates; diff --git a/Telegram/SourceFiles/mtproto/scheme_auto.cpp b/Telegram/SourceFiles/mtproto/scheme_auto.cpp index 40e427612..4634939e5 100644 --- a/Telegram/SourceFiles/mtproto/scheme_auto.cpp +++ b/Telegram/SourceFiles/mtproto/scheme_auto.cpp @@ -2963,6 +2963,21 @@ void _serialize_updateBotCallbackQuery(MTPStringLogger &to, int32 stage, int32 l } } +void _serialize_updateEditMessage(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { + if (stage) { + to.add(",\n").addSpaces(lev); + } else { + to.add("{ updateEditMessage"); + to.add("\n").addSpaces(lev); + } + switch (stage) { + case 0: to.add(" message: "); ++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+0); 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+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; + } +} + void _serialize_updates_state(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { if (stage) { to.add(",\n").addSpaces(lev); @@ -5276,22 +5291,6 @@ void _serialize_messageFwdHeader(MTPStringLogger &to, int32 stage, int32 lev, Ty } } -void _serialize_channels_messageEditData(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { - MTPDchannels_messageEditData::Flags flag(iflag); - - if (stage) { - to.add(",\n").addSpaces(lev); - } else { - to.add("{ channels_messageEditData"); - to.add("\n").addSpaces(lev); - } - switch (stage) { - case 0: to.add(" flags: "); ++stages.back(); if (start >= end) throw Exception("start >= end in flags"); else flags.back() = *start; types.push_back(mtpc_flags); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; - case 1: to.add(" caption: "); ++stages.back(); if (flag & MTPDchannels_messageEditData::Flag::f_caption) { to.add("YES [ BY BIT 0 IN FIELD flags ]"); } else { to.add("[ SKIPPED BY BIT 0 IN FIELD flags ]"); } break; - default: to.add("}"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); break; - } -} - void _serialize_auth_codeTypeSms(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { to.add("{ auth_codeTypeSms }"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); } @@ -5369,6 +5368,22 @@ void _serialize_messages_botCallbackAnswer(MTPStringLogger &to, int32 stage, int } } +void _serialize_messages_messageEditData(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { + MTPDmessages_messageEditData::Flags flag(iflag); + + if (stage) { + to.add(",\n").addSpaces(lev); + } else { + to.add("{ messages_messageEditData"); + to.add("\n").addSpaces(lev); + } + switch (stage) { + case 0: to.add(" flags: "); ++stages.back(); if (start >= end) throw Exception("start >= end in flags"); else flags.back() = *start; types.push_back(mtpc_flags); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; + case 1: to.add(" caption: "); ++stages.back(); if (flag & MTPDmessages_messageEditData::Flag::f_caption) { to.add("YES [ BY BIT 0 IN FIELD flags ]"); } else { to.add("[ SKIPPED BY BIT 0 IN FIELD flags ]"); } break; + default: to.add("}"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); break; + } +} + void _serialize_req_pq(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { if (stage) { to.add(",\n").addSpaces(lev); @@ -7030,6 +7045,27 @@ void _serialize_messages_sendInlineBotResult(MTPStringLogger &to, int32 stage, i } } +void _serialize_messages_editMessage(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { + MTPmessages_editMessage::Flags flag(iflag); + + if (stage) { + to.add(",\n").addSpaces(lev); + } else { + to.add("{ messages_editMessage"); + to.add("\n").addSpaces(lev); + } + switch (stage) { + case 0: to.add(" flags: "); ++stages.back(); if (start >= end) throw Exception("start >= end in flags"); else flags.back() = *start; types.push_back(mtpc_flags); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; + case 1: to.add(" no_webpage: "); ++stages.back(); if (flag & MTPmessages_editMessage::Flag::f_no_webpage) { to.add("YES [ BY BIT 1 IN FIELD flags ]"); } else { to.add("[ SKIPPED BY BIT 1 IN FIELD flags ]"); } break; + case 2: to.add(" peer: "); ++stages.back(); types.push_back(0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; + case 3: to.add(" id: "); ++stages.back(); types.push_back(mtpc_int+0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; + case 4: to.add(" message: "); ++stages.back(); types.push_back(mtpc_string+0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; + case 5: to.add(" entities: "); ++stages.back(); if (flag & MTPmessages_editMessage::Flag::f_entities) { types.push_back(00); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); } else { to.add("[ SKIPPED BY BIT 3 IN FIELD flags ]"); } break; + case 6: to.add(" reply_markup: "); ++stages.back(); if (flag & MTPmessages_editMessage::Flag::f_reply_markup) { types.push_back(0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); } else { to.add("[ SKIPPED BY BIT 2 IN FIELD flags ]"); } break; + default: to.add("}"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); break; + } +} + void _serialize_channels_createChannel(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { MTPchannels_createChannel::Flags flag(iflag); @@ -7202,26 +7238,6 @@ void _serialize_channels_toggleSignatures(MTPStringLogger &to, int32 stage, int3 } } -void _serialize_channels_editMessage(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { - MTPchannels_editMessage::Flags flag(iflag); - - if (stage) { - to.add(",\n").addSpaces(lev); - } else { - to.add("{ channels_editMessage"); - to.add("\n").addSpaces(lev); - } - switch (stage) { - case 0: to.add(" flags: "); ++stages.back(); if (start >= end) throw Exception("start >= end in flags"); else flags.back() = *start; types.push_back(mtpc_flags); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; - case 1: to.add(" no_webpage: "); ++stages.back(); if (flag & MTPchannels_editMessage::Flag::f_no_webpage) { to.add("YES [ BY BIT 1 IN FIELD flags ]"); } else { to.add("[ SKIPPED BY BIT 1 IN FIELD flags ]"); } break; - case 2: to.add(" channel: "); ++stages.back(); types.push_back(0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; - case 3: to.add(" id: "); ++stages.back(); types.push_back(mtpc_int+0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; - case 4: to.add(" message: "); ++stages.back(); types.push_back(mtpc_string+0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; - case 5: to.add(" entities: "); ++stages.back(); if (flag & MTPchannels_editMessage::Flag::f_entities) { types.push_back(00); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); } else { to.add("[ SKIPPED BY BIT 3 IN FIELD flags ]"); } break; - default: to.add("}"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); break; - } -} - void _serialize_channels_updatePinnedMessage(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { MTPchannels_updatePinnedMessage::Flags flag(iflag); @@ -7570,6 +7586,20 @@ void _serialize_messages_getInlineBotResults(MTPStringLogger &to, int32 stage, i } } +void _serialize_messages_getMessageEditData(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { + if (stage) { + to.add(",\n").addSpaces(lev); + } else { + to.add("{ messages_getMessageEditData"); + 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; + case 1: to.add(" id: "); ++stages.back(); types.push_back(mtpc_int+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; + } +} + void _serialize_messages_getBotCallbackAnswer(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { if (stage) { to.add(",\n").addSpaces(lev); @@ -7795,20 +7825,6 @@ void _serialize_channels_exportMessageLink(MTPStringLogger &to, int32 stage, int } } -void _serialize_channels_getMessageEditData(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { - if (stage) { - to.add(",\n").addSpaces(lev); - } else { - to.add("{ channels_getMessageEditData"); - to.add("\n").addSpaces(lev); - } - switch (stage) { - case 0: to.add(" channel: "); ++stages.back(); types.push_back(0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break; - case 1: to.add(" id: "); ++stages.back(); types.push_back(mtpc_int+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; - } -} - void _serialize_rpc_result(MTPStringLogger &to, int32 stage, int32 lev, Types &types, Types &vtypes, StagesFlags &stages, StagesFlags &flags, const mtpPrime *start, const mtpPrime *end, int32 iflag) { if (stage) { to.add(",\n").addSpaces(lev); @@ -8094,6 +8110,7 @@ namespace { _serializers.insert(mtpc_updateEditChannelMessage, _serialize_updateEditChannelMessage); _serializers.insert(mtpc_updateChannelPinnedMessage, _serialize_updateChannelPinnedMessage); _serializers.insert(mtpc_updateBotCallbackQuery, _serialize_updateBotCallbackQuery); + _serializers.insert(mtpc_updateEditMessage, _serialize_updateEditMessage); _serializers.insert(mtpc_updates_state, _serialize_updates_state); _serializers.insert(mtpc_updates_differenceEmpty, _serialize_updates_differenceEmpty); _serializers.insert(mtpc_updates_difference, _serialize_updates_difference); @@ -8275,7 +8292,6 @@ namespace { _serializers.insert(mtpc_messages_botResults, _serialize_messages_botResults); _serializers.insert(mtpc_exportedMessageLink, _serialize_exportedMessageLink); _serializers.insert(mtpc_messageFwdHeader, _serialize_messageFwdHeader); - _serializers.insert(mtpc_channels_messageEditData, _serialize_channels_messageEditData); _serializers.insert(mtpc_auth_codeTypeSms, _serialize_auth_codeTypeSms); _serializers.insert(mtpc_auth_codeTypeCall, _serialize_auth_codeTypeCall); _serializers.insert(mtpc_auth_codeTypeFlashCall, _serialize_auth_codeTypeFlashCall); @@ -8284,6 +8300,7 @@ namespace { _serializers.insert(mtpc_auth_sentCodeTypeCall, _serialize_auth_sentCodeTypeCall); _serializers.insert(mtpc_auth_sentCodeTypeFlashCall, _serialize_auth_sentCodeTypeFlashCall); _serializers.insert(mtpc_messages_botCallbackAnswer, _serialize_messages_botCallbackAnswer); + _serializers.insert(mtpc_messages_messageEditData, _serialize_messages_messageEditData); _serializers.insert(mtpc_req_pq, _serialize_req_pq); _serializers.insert(mtpc_req_DH_params, _serialize_req_DH_params); @@ -8405,6 +8422,7 @@ namespace { _serializers.insert(mtpc_messages_toggleChatAdmins, _serialize_messages_toggleChatAdmins); _serializers.insert(mtpc_messages_migrateChat, _serialize_messages_migrateChat); _serializers.insert(mtpc_messages_sendInlineBotResult, _serialize_messages_sendInlineBotResult); + _serializers.insert(mtpc_messages_editMessage, _serialize_messages_editMessage); _serializers.insert(mtpc_channels_createChannel, _serialize_channels_createChannel); _serializers.insert(mtpc_channels_editAdmin, _serialize_channels_editAdmin); _serializers.insert(mtpc_channels_editTitle, _serialize_channels_editTitle); @@ -8417,7 +8435,6 @@ namespace { _serializers.insert(mtpc_channels_deleteChannel, _serialize_channels_deleteChannel); _serializers.insert(mtpc_channels_toggleInvites, _serialize_channels_toggleInvites); _serializers.insert(mtpc_channels_toggleSignatures, _serialize_channels_toggleSignatures); - _serializers.insert(mtpc_channels_editMessage, _serialize_channels_editMessage); _serializers.insert(mtpc_channels_updatePinnedMessage, _serialize_channels_updatePinnedMessage); _serializers.insert(mtpc_messages_getPeerSettings, _serialize_messages_getPeerSettings); _serializers.insert(mtpc_messages_getChats, _serialize_messages_getChats); @@ -8443,6 +8460,7 @@ namespace { _serializers.insert(mtpc_messages_searchGifs, _serialize_messages_searchGifs); _serializers.insert(mtpc_messages_getSavedGifs, _serialize_messages_getSavedGifs); _serializers.insert(mtpc_messages_getInlineBotResults, _serialize_messages_getInlineBotResults); + _serializers.insert(mtpc_messages_getMessageEditData, _serialize_messages_getMessageEditData); _serializers.insert(mtpc_messages_getBotCallbackAnswer, _serialize_messages_getBotCallbackAnswer); _serializers.insert(mtpc_updates_getState, _serialize_updates_getState); _serializers.insert(mtpc_updates_getDifference, _serialize_updates_getDifference); @@ -8461,7 +8479,6 @@ namespace { _serializers.insert(mtpc_channels_getParticipants, _serialize_channels_getParticipants); _serializers.insert(mtpc_channels_getParticipant, _serialize_channels_getParticipant); _serializers.insert(mtpc_channels_exportMessageLink, _serialize_channels_exportMessageLink); - _serializers.insert(mtpc_channels_getMessageEditData, _serialize_channels_getMessageEditData); _serializers.insert(mtpc_rpc_result, _serialize_rpc_result); _serializers.insert(mtpc_msg_container, _serialize_msg_container); diff --git a/Telegram/SourceFiles/mtproto/scheme_auto.h b/Telegram/SourceFiles/mtproto/scheme_auto.h index 203ae4768..159065b22 100644 --- a/Telegram/SourceFiles/mtproto/scheme_auto.h +++ b/Telegram/SourceFiles/mtproto/scheme_auto.h @@ -282,6 +282,7 @@ enum { mtpc_updateEditChannelMessage = 0x1b3f4df7, mtpc_updateChannelPinnedMessage = 0x98592475, mtpc_updateBotCallbackQuery = 0x5024c2b0, + mtpc_updateEditMessage = 0xe40370a3, mtpc_updates_state = 0xa56c2a3e, mtpc_updates_differenceEmpty = 0x5d75a138, mtpc_updates_difference = 0xf49ca0, @@ -463,7 +464,6 @@ enum { mtpc_messages_botResults = 0x1170b0a3, mtpc_exportedMessageLink = 0x1f486803, mtpc_messageFwdHeader = 0xc786ddcb, - mtpc_channels_messageEditData = 0x67e1255f, mtpc_auth_codeTypeSms = 0x72a3158c, mtpc_auth_codeTypeCall = 0x741cd3e3, mtpc_auth_codeTypeFlashCall = 0x226ccefb, @@ -472,6 +472,7 @@ enum { mtpc_auth_sentCodeTypeCall = 0x5353e5a7, mtpc_auth_sentCodeTypeFlashCall = 0xab03c6d9, mtpc_messages_botCallbackAnswer = 0xb4868d29, + mtpc_messages_messageEditData = 0x26b5dde6, mtpc_invokeAfterMsg = 0xcb9f372d, mtpc_invokeAfterMsgs = 0x3dc4b4f0, mtpc_initConnection = 0x69796de9, @@ -589,6 +590,8 @@ enum { mtpc_messages_getInlineBotResults = 0x9324600d, mtpc_messages_setInlineBotResults = 0x3f23ec12, mtpc_messages_sendInlineBotResult = 0xb16e06fe, + mtpc_messages_getMessageEditData = 0xfda68d36, + mtpc_messages_editMessage = 0xd2003257, mtpc_messages_getBotCallbackAnswer = 0xd3157edf, mtpc_messages_setBotCallbackAnswer = 0xa13a9254, mtpc_updates_getState = 0xedd4882a, @@ -637,8 +640,6 @@ enum { mtpc_channels_toggleInvites = 0x49609307, mtpc_channels_exportMessageLink = 0xc846d22d, mtpc_channels_toggleSignatures = 0x1f69b606, - mtpc_channels_getMessageEditData = 0x27ea3a28, - mtpc_channels_editMessage = 0xdcda80ed, mtpc_channels_updatePinnedMessage = 0xa72ded52 }; @@ -981,6 +982,7 @@ class MTPDupdateBotInlineSend; class MTPDupdateEditChannelMessage; class MTPDupdateChannelPinnedMessage; class MTPDupdateBotCallbackQuery; +class MTPDupdateEditMessage; class MTPupdates_state; class MTPDupdates_state; @@ -1274,9 +1276,6 @@ class MTPDexportedMessageLink; class MTPmessageFwdHeader; class MTPDmessageFwdHeader; -class MTPchannels_messageEditData; -class MTPDchannels_messageEditData; - class MTPauth_codeType; class MTPauth_sentCodeType; @@ -1288,6 +1287,9 @@ class MTPDauth_sentCodeTypeFlashCall; class MTPmessages_botCallbackAnswer; class MTPDmessages_botCallbackAnswer; +class MTPmessages_messageEditData; +class MTPDmessages_messageEditData; + // Boxed types definitions typedef MTPBoxed MTPResPQ; @@ -1451,10 +1453,10 @@ typedef MTPBoxed MTPBotInlineResult; typedef MTPBoxed MTPmessages_BotResults; typedef MTPBoxed MTPExportedMessageLink; typedef MTPBoxed MTPMessageFwdHeader; -typedef MTPBoxed MTPchannels_MessageEditData; typedef MTPBoxed MTPauth_CodeType; typedef MTPBoxed MTPauth_SentCodeType; typedef MTPBoxed MTPmessages_BotCallbackAnswer; +typedef MTPBoxed MTPmessages_MessageEditData; // Type classes definitions @@ -5431,6 +5433,18 @@ public: return *(const MTPDupdateBotCallbackQuery*)data; } + MTPDupdateEditMessage &_updateEditMessage() { + if (!data) throw mtpErrorUninitialized(); + if (_type != mtpc_updateEditMessage) throw mtpErrorWrongTypeId(_type, mtpc_updateEditMessage); + split(); + return *(MTPDupdateEditMessage*)data; + } + const MTPDupdateEditMessage &c_updateEditMessage() const { + if (!data) throw mtpErrorUninitialized(); + if (_type != mtpc_updateEditMessage) throw mtpErrorWrongTypeId(_type, mtpc_updateEditMessage); + return *(const MTPDupdateEditMessage*)data; + } + uint32 innerLength() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); @@ -5484,6 +5498,7 @@ private: explicit MTPupdate(MTPDupdateEditChannelMessage *_data); explicit MTPupdate(MTPDupdateChannelPinnedMessage *_data); explicit MTPupdate(MTPDupdateBotCallbackQuery *_data); + explicit MTPupdate(MTPDupdateEditMessage *_data); friend class MTP::internal::TypeCreator; @@ -8907,37 +8922,6 @@ private: }; typedef MTPBoxed MTPMessageFwdHeader; -class MTPchannels_messageEditData : private mtpDataOwner { -public: - MTPchannels_messageEditData(); - MTPchannels_messageEditData(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_channels_messageEditData) : mtpDataOwner(0) { - read(from, end, cons); - } - - MTPDchannels_messageEditData &_channels_messageEditData() { - if (!data) throw mtpErrorUninitialized(); - split(); - return *(MTPDchannels_messageEditData*)data; - } - const MTPDchannels_messageEditData &c_channels_messageEditData() const { - if (!data) throw mtpErrorUninitialized(); - return *(const MTPDchannels_messageEditData*)data; - } - - uint32 innerLength() const; - mtpTypeId type() const; - void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_channels_messageEditData); - void write(mtpBuffer &to) const; - - typedef void ResponseType; - -private: - explicit MTPchannels_messageEditData(MTPDchannels_messageEditData *_data); - - friend class MTP::internal::TypeCreator; -}; -typedef MTPBoxed MTPchannels_MessageEditData; - class MTPauth_codeType { public: MTPauth_codeType() : _type(0) { @@ -9069,6 +9053,37 @@ private: }; typedef MTPBoxed MTPmessages_BotCallbackAnswer; +class MTPmessages_messageEditData : private mtpDataOwner { +public: + MTPmessages_messageEditData(); + MTPmessages_messageEditData(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_messageEditData) : mtpDataOwner(0) { + read(from, end, cons); + } + + MTPDmessages_messageEditData &_messages_messageEditData() { + if (!data) throw mtpErrorUninitialized(); + split(); + return *(MTPDmessages_messageEditData*)data; + } + const MTPDmessages_messageEditData &c_messages_messageEditData() const { + if (!data) throw mtpErrorUninitialized(); + return *(const MTPDmessages_messageEditData*)data; + } + + uint32 innerLength() const; + mtpTypeId type() const; + void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_messageEditData); + void write(mtpBuffer &to) const; + + typedef void ResponseType; + +private: + explicit MTPmessages_messageEditData(MTPDmessages_messageEditData *_data); + + friend class MTP::internal::TypeCreator; +}; +typedef MTPBoxed MTPmessages_MessageEditData; + // Type constructors with data class MTPDresPQ : public mtpDataImpl { @@ -11442,6 +11457,18 @@ public: MTPstring vtext; }; +class MTPDupdateEditMessage : public mtpDataImpl { +public: + MTPDupdateEditMessage() { + } + MTPDupdateEditMessage(const MTPMessage &_message, MTPint _pts, MTPint _pts_count) : vmessage(_message), vpts(_pts), vpts_count(_pts_count) { + } + + MTPMessage vmessage; + MTPint vpts; + MTPint vpts_count; +}; + class MTPDupdates_state : public mtpDataImpl { public: MTPDupdates_state() { @@ -13447,24 +13474,6 @@ public: MTPint vchannel_post; }; -class MTPDchannels_messageEditData : public mtpDataImpl { -public: - enum class Flag : int32 { - f_caption = (1 << 0), - }; - Q_DECLARE_FLAGS(Flags, Flag); - friend inline Flags operator~(Flag v) { return QFlag(~static_cast(v)); } - - bool is_caption() const { return vflags.v & Flag::f_caption; } - - MTPDchannels_messageEditData() { - } - MTPDchannels_messageEditData(const MTPflags &_flags) : vflags(_flags) { - } - - MTPflags vflags; -}; - class MTPDauth_sentCodeTypeApp : public mtpDataImpl { public: MTPDauth_sentCodeTypeApp() { @@ -13515,6 +13524,24 @@ public: MTPstring vmessage; }; +class MTPDmessages_messageEditData : public mtpDataImpl { +public: + enum class Flag : int32 { + f_caption = (1 << 0), + }; + Q_DECLARE_FLAGS(Flags, Flag); + friend inline Flags operator~(Flag v) { return QFlag(~static_cast(v)); } + + bool is_caption() const { return vflags.v & Flag::f_caption; } + + MTPDmessages_messageEditData() { + } + MTPDmessages_messageEditData(const MTPflags &_flags) : vflags(_flags) { + } + + MTPflags vflags; +}; + // RPC methods class MTPreq_pq { // RPC method 'req_pq' @@ -18948,6 +18975,118 @@ public: } }; +class MTPmessages_getMessageEditData { // RPC method 'messages.getMessageEditData' +public: + MTPInputPeer vpeer; + MTPint vid; + + MTPmessages_getMessageEditData() { + } + MTPmessages_getMessageEditData(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getMessageEditData) { + read(from, end, cons); + } + MTPmessages_getMessageEditData(const MTPInputPeer &_peer, MTPint _id) : vpeer(_peer), vid(_id) { + } + + uint32 innerLength() const { + return vpeer.innerLength() + vid.innerLength(); + } + mtpTypeId type() const { + return mtpc_messages_getMessageEditData; + } + void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getMessageEditData) { + vpeer.read(from, end); + vid.read(from, end); + } + void write(mtpBuffer &to) const { + vpeer.write(to); + vid.write(to); + } + + typedef MTPmessages_MessageEditData ResponseType; +}; +class MTPmessages_GetMessageEditData : public MTPBoxed { +public: + MTPmessages_GetMessageEditData() { + } + MTPmessages_GetMessageEditData(const MTPmessages_getMessageEditData &v) : MTPBoxed(v) { + } + MTPmessages_GetMessageEditData(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { + } + MTPmessages_GetMessageEditData(const MTPInputPeer &_peer, MTPint _id) : MTPBoxed(MTPmessages_getMessageEditData(_peer, _id)) { + } +}; + +class MTPmessages_editMessage { // RPC method 'messages.editMessage' +public: + enum class Flag : int32 { + f_no_webpage = (1 << 1), + f_entities = (1 << 3), + f_reply_markup = (1 << 2), + + MAX_FIELD = (1 << 3), + }; + Q_DECLARE_FLAGS(Flags, Flag); + friend inline Flags operator~(Flag v) { return QFlag(~static_cast(v)); } + + bool is_no_webpage() const { return vflags.v & Flag::f_no_webpage; } + bool has_entities() const { return vflags.v & Flag::f_entities; } + bool has_reply_markup() const { return vflags.v & Flag::f_reply_markup; } + + MTPflags vflags; + MTPInputPeer vpeer; + MTPint vid; + MTPstring vmessage; + MTPVector ventities; + MTPReplyMarkup vreply_markup; + + MTPmessages_editMessage() { + } + MTPmessages_editMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_editMessage) { + read(from, end, cons); + } + MTPmessages_editMessage(const MTPflags &_flags, const MTPInputPeer &_peer, MTPint _id, const MTPstring &_message, const MTPVector &_entities, const MTPReplyMarkup &_reply_markup) : vflags(_flags), vpeer(_peer), vid(_id), vmessage(_message), ventities(_entities), vreply_markup(_reply_markup) { + } + + uint32 innerLength() const { + return vflags.innerLength() + vpeer.innerLength() + vid.innerLength() + vmessage.innerLength() + (has_entities() ? ventities.innerLength() : 0) + (has_reply_markup() ? vreply_markup.innerLength() : 0); + } + mtpTypeId type() const { + return mtpc_messages_editMessage; + } + void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_editMessage) { + vflags.read(from, end); + vpeer.read(from, end); + vid.read(from, end); + vmessage.read(from, end); + if (has_entities()) { ventities.read(from, end); } else { ventities = MTPVector(); } + if (has_reply_markup()) { vreply_markup.read(from, end); } else { vreply_markup = MTPReplyMarkup(); } + } + void write(mtpBuffer &to) const { + vflags.write(to); + vpeer.write(to); + vid.write(to); + vmessage.write(to); + if (has_entities()) ventities.write(to); + if (has_reply_markup()) vreply_markup.write(to); + } + + typedef MTPUpdates ResponseType; +}; +Q_DECLARE_OPERATORS_FOR_FLAGS(MTPmessages_editMessage::Flags) + +class MTPmessages_EditMessage : public MTPBoxed { +public: + MTPmessages_EditMessage() { + } + MTPmessages_EditMessage(const MTPmessages_editMessage &v) : MTPBoxed(v) { + } + MTPmessages_EditMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { + } + MTPmessages_EditMessage(const MTPflags &_flags, const MTPInputPeer &_peer, MTPint _id, const MTPstring &_message, const MTPVector &_entities, const MTPReplyMarkup &_reply_markup) : MTPBoxed(MTPmessages_editMessage(_flags, _peer, _id, _message, _entities, _reply_markup)) { + } +}; + class MTPmessages_getBotCallbackAnswer { // RPC method 'messages.getBotCallbackAnswer' public: MTPInputPeer vpeer; @@ -20985,113 +21124,6 @@ public: } }; -class MTPchannels_getMessageEditData { // RPC method 'channels.getMessageEditData' -public: - MTPInputChannel vchannel; - MTPint vid; - - MTPchannels_getMessageEditData() { - } - MTPchannels_getMessageEditData(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_channels_getMessageEditData) { - read(from, end, cons); - } - MTPchannels_getMessageEditData(const MTPInputChannel &_channel, MTPint _id) : vchannel(_channel), vid(_id) { - } - - uint32 innerLength() const { - return vchannel.innerLength() + vid.innerLength(); - } - mtpTypeId type() const { - return mtpc_channels_getMessageEditData; - } - void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_channels_getMessageEditData) { - vchannel.read(from, end); - vid.read(from, end); - } - void write(mtpBuffer &to) const { - vchannel.write(to); - vid.write(to); - } - - typedef MTPchannels_MessageEditData ResponseType; -}; -class MTPchannels_GetMessageEditData : public MTPBoxed { -public: - MTPchannels_GetMessageEditData() { - } - MTPchannels_GetMessageEditData(const MTPchannels_getMessageEditData &v) : MTPBoxed(v) { - } - MTPchannels_GetMessageEditData(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { - } - MTPchannels_GetMessageEditData(const MTPInputChannel &_channel, MTPint _id) : MTPBoxed(MTPchannels_getMessageEditData(_channel, _id)) { - } -}; - -class MTPchannels_editMessage { // RPC method 'channels.editMessage' -public: - enum class Flag : int32 { - f_no_webpage = (1 << 1), - f_entities = (1 << 3), - - MAX_FIELD = (1 << 3), - }; - Q_DECLARE_FLAGS(Flags, Flag); - friend inline Flags operator~(Flag v) { return QFlag(~static_cast(v)); } - - bool is_no_webpage() const { return vflags.v & Flag::f_no_webpage; } - bool has_entities() const { return vflags.v & Flag::f_entities; } - - MTPflags vflags; - MTPInputChannel vchannel; - MTPint vid; - MTPstring vmessage; - MTPVector ventities; - - MTPchannels_editMessage() { - } - MTPchannels_editMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_channels_editMessage) { - read(from, end, cons); - } - MTPchannels_editMessage(const MTPflags &_flags, const MTPInputChannel &_channel, MTPint _id, const MTPstring &_message, const MTPVector &_entities) : vflags(_flags), vchannel(_channel), vid(_id), vmessage(_message), ventities(_entities) { - } - - uint32 innerLength() const { - return vflags.innerLength() + vchannel.innerLength() + vid.innerLength() + vmessage.innerLength() + (has_entities() ? ventities.innerLength() : 0); - } - mtpTypeId type() const { - return mtpc_channels_editMessage; - } - void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_channels_editMessage) { - vflags.read(from, end); - vchannel.read(from, end); - vid.read(from, end); - vmessage.read(from, end); - if (has_entities()) { ventities.read(from, end); } else { ventities = MTPVector(); } - } - void write(mtpBuffer &to) const { - vflags.write(to); - vchannel.write(to); - vid.write(to); - vmessage.write(to); - if (has_entities()) ventities.write(to); - } - - typedef MTPUpdates ResponseType; -}; -Q_DECLARE_OPERATORS_FOR_FLAGS(MTPchannels_editMessage::Flags) - -class MTPchannels_EditMessage : public MTPBoxed { -public: - MTPchannels_EditMessage() { - } - MTPchannels_EditMessage(const MTPchannels_editMessage &v) : MTPBoxed(v) { - } - MTPchannels_EditMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { - } - MTPchannels_EditMessage(const MTPflags &_flags, const MTPInputChannel &_channel, MTPint _id, const MTPstring &_message, const MTPVector &_entities) : MTPBoxed(MTPchannels_editMessage(_flags, _channel, _id, _message, _entities)) { - } -}; - class MTPchannels_updatePinnedMessage { // RPC method 'channels.updatePinnedMessage' public: enum class Flag : int32 { @@ -21861,6 +21893,9 @@ public: inline static MTPupdate new_updateBotCallbackQuery(const MTPlong &_query_id, MTPint _user_id, const MTPPeer &_peer, MTPint _msg_id, const MTPstring &_text) { return MTPupdate(new MTPDupdateBotCallbackQuery(_query_id, _user_id, _peer, _msg_id, _text)); } + inline static MTPupdate new_updateEditMessage(const MTPMessage &_message, MTPint _pts, MTPint _pts_count) { + return MTPupdate(new MTPDupdateEditMessage(_message, _pts, _pts_count)); + } inline static MTPupdates_state new_updates_state(MTPint _pts, MTPint _qts, MTPint _date, MTPint _seq, MTPint _unread_count) { return MTPupdates_state(new MTPDupdates_state(_pts, _qts, _date, _seq, _unread_count)); } @@ -22404,9 +22439,6 @@ public: inline static MTPmessageFwdHeader new_messageFwdHeader(const MTPflags &_flags, MTPint _from_id, MTPint _date, MTPint _channel_id, MTPint _channel_post) { return MTPmessageFwdHeader(new MTPDmessageFwdHeader(_flags, _from_id, _date, _channel_id, _channel_post)); } - inline static MTPchannels_messageEditData new_channels_messageEditData(const MTPflags &_flags) { - return MTPchannels_messageEditData(new MTPDchannels_messageEditData(_flags)); - } inline static MTPauth_codeType new_auth_codeTypeSms() { return MTPauth_codeType(mtpc_auth_codeTypeSms); } @@ -22431,6 +22463,9 @@ public: inline static MTPmessages_botCallbackAnswer new_messages_botCallbackAnswer(const MTPstring &_message) { return MTPmessages_botCallbackAnswer(new MTPDmessages_botCallbackAnswer(_message)); } + inline static MTPmessages_messageEditData new_messages_messageEditData(const MTPflags &_flags) { + return MTPmessages_messageEditData(new MTPDmessages_messageEditData(_flags)); + } }; } // namespace internal @@ -27333,6 +27368,10 @@ inline uint32 MTPupdate::innerLength() const { const MTPDupdateBotCallbackQuery &v(c_updateBotCallbackQuery()); return v.vquery_id.innerLength() + v.vuser_id.innerLength() + v.vpeer.innerLength() + v.vmsg_id.innerLength() + v.vtext.innerLength(); } + case mtpc_updateEditMessage: { + const MTPDupdateEditMessage &v(c_updateEditMessage()); + return v.vmessage.innerLength() + v.vpts.innerLength() + v.vpts_count.innerLength(); + } } return 0; } @@ -27641,6 +27680,13 @@ inline void MTPupdate::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeI v.vmsg_id.read(from, end); v.vtext.read(from, end); } break; + case mtpc_updateEditMessage: _type = cons; { + if (!data) setData(new MTPDupdateEditMessage()); + MTPDupdateEditMessage &v(_updateEditMessage()); + v.vmessage.read(from, end); + v.vpts.read(from, end); + v.vpts_count.read(from, end); + } break; default: throw mtpErrorUnexpected(cons, "MTPupdate"); } } @@ -27898,6 +27944,12 @@ inline void MTPupdate::write(mtpBuffer &to) const { v.vmsg_id.write(to); v.vtext.write(to); } break; + case mtpc_updateEditMessage: { + const MTPDupdateEditMessage &v(c_updateEditMessage()); + v.vmessage.write(to); + v.vpts.write(to); + v.vpts_count.write(to); + } break; } } inline MTPupdate::MTPupdate(mtpTypeId type) : mtpDataOwner(0), _type(type) { @@ -27948,6 +28000,7 @@ inline MTPupdate::MTPupdate(mtpTypeId type) : mtpDataOwner(0), _type(type) { case mtpc_updateEditChannelMessage: setData(new MTPDupdateEditChannelMessage()); break; case mtpc_updateChannelPinnedMessage: setData(new MTPDupdateChannelPinnedMessage()); break; case mtpc_updateBotCallbackQuery: setData(new MTPDupdateBotCallbackQuery()); break; + case mtpc_updateEditMessage: setData(new MTPDupdateEditMessage()); break; default: throw mtpErrorBadTypeId(type, "MTPupdate"); } } @@ -28039,6 +28092,8 @@ inline MTPupdate::MTPupdate(MTPDupdateChannelPinnedMessage *_data) : mtpDataOwne } inline MTPupdate::MTPupdate(MTPDupdateBotCallbackQuery *_data) : mtpDataOwner(_data), _type(mtpc_updateBotCallbackQuery) { } +inline MTPupdate::MTPupdate(MTPDupdateEditMessage *_data) : mtpDataOwner(_data), _type(mtpc_updateEditMessage) { +} inline MTPupdate MTP_updateNewMessage(const MTPMessage &_message, MTPint _pts, MTPint _pts_count) { return MTP::internal::TypeCreator::new_updateNewMessage(_message, _pts, _pts_count); } @@ -28178,6 +28233,9 @@ inline MTPupdate MTP_updateChannelPinnedMessage(MTPint _channel_id, MTPint _id) inline MTPupdate MTP_updateBotCallbackQuery(const MTPlong &_query_id, MTPint _user_id, const MTPPeer &_peer, MTPint _msg_id, const MTPstring &_text) { return MTP::internal::TypeCreator::new_updateBotCallbackQuery(_query_id, _user_id, _peer, _msg_id, _text); } +inline MTPupdate MTP_updateEditMessage(const MTPMessage &_message, MTPint _pts, MTPint _pts_count) { + return MTP::internal::TypeCreator::new_updateEditMessage(_message, _pts, _pts_count); +} inline MTPupdates_state::MTPupdates_state() : mtpDataOwner(new MTPDupdates_state()) { } @@ -32905,34 +32963,6 @@ inline MTPmessageFwdHeader MTP_messageFwdHeader(const MTPflags &_flags) { - return MTP::internal::TypeCreator::new_channels_messageEditData(_flags); -} - inline uint32 MTPauth_codeType::innerLength() const { return 0; } @@ -33095,6 +33125,34 @@ inline MTPmessages_botCallbackAnswer::MTPmessages_botCallbackAnswer(MTPDmessages inline MTPmessages_botCallbackAnswer MTP_messages_botCallbackAnswer(const MTPstring &_message) { return MTP::internal::TypeCreator::new_messages_botCallbackAnswer(_message); } + +inline MTPmessages_messageEditData::MTPmessages_messageEditData() : mtpDataOwner(new MTPDmessages_messageEditData()) { +} + +inline uint32 MTPmessages_messageEditData::innerLength() const { + const MTPDmessages_messageEditData &v(c_messages_messageEditData()); + return v.vflags.innerLength(); +} +inline mtpTypeId MTPmessages_messageEditData::type() const { + return mtpc_messages_messageEditData; +} +inline void MTPmessages_messageEditData::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { + if (cons != mtpc_messages_messageEditData) throw mtpErrorUnexpected(cons, "MTPmessages_messageEditData"); + + if (!data) setData(new MTPDmessages_messageEditData()); + MTPDmessages_messageEditData &v(_messages_messageEditData()); + v.vflags.read(from, end); +} +inline void MTPmessages_messageEditData::write(mtpBuffer &to) const { + const MTPDmessages_messageEditData &v(c_messages_messageEditData()); + v.vflags.write(to); +} +inline MTPmessages_messageEditData::MTPmessages_messageEditData(MTPDmessages_messageEditData *_data) : mtpDataOwner(_data) { +} +Q_DECLARE_OPERATORS_FOR_FLAGS(MTPDmessages_messageEditData::Flags) +inline MTPmessages_messageEditData MTP_messages_messageEditData(const MTPflags &_flags) { + return MTP::internal::TypeCreator::new_messages_messageEditData(_flags); +} inline MTPDmessage::Flags mtpCastFlags(MTPDmessageService::Flags flags) { return MTPDmessage::Flags(QFlag(flags)); } inline MTPDmessage::Flags mtpCastFlags(MTPflags flags) { return mtpCastFlags(flags.v); } inline MTPDmessage::Flags mtpCastFlags(MTPDupdateShortMessage::Flags flags) { return MTPDmessage::Flags(QFlag(flags)); }