mirror of https://github.com/procxx/kepka.git
API scheme updated to layer 76.
This commit is contained in:
parent
2dd2ad5cdb
commit
d1a9d3992b
|
@ -155,16 +155,16 @@ inputFile#f52ff27f id:long parts:int name:string md5_checksum:string = InputFile
|
||||||
inputFileBig#fa4f0bb5 id:long parts:int name:string = InputFile;
|
inputFileBig#fa4f0bb5 id:long parts:int name:string = InputFile;
|
||||||
|
|
||||||
inputMediaEmpty#9664f57f = InputMedia;
|
inputMediaEmpty#9664f57f = InputMedia;
|
||||||
inputMediaUploadedPhoto#2f37e231 flags:# file:InputFile caption:string stickers:flags.0?Vector<InputDocument> ttl_seconds:flags.1?int = InputMedia;
|
inputMediaUploadedPhoto#1e287d04 flags:# file:InputFile stickers:flags.0?Vector<InputDocument> ttl_seconds:flags.1?int = InputMedia;
|
||||||
inputMediaPhoto#81fa373a flags:# id:InputPhoto caption:string ttl_seconds:flags.0?int = InputMedia;
|
inputMediaPhoto#b3ba0635 flags:# id:InputPhoto ttl_seconds:flags.0?int = InputMedia;
|
||||||
inputMediaGeoPoint#f9c44144 geo_point:InputGeoPoint = InputMedia;
|
inputMediaGeoPoint#f9c44144 geo_point:InputGeoPoint = InputMedia;
|
||||||
inputMediaContact#a6e45987 phone_number:string first_name:string last_name:string = InputMedia;
|
inputMediaContact#a6e45987 phone_number:string first_name:string last_name:string = InputMedia;
|
||||||
inputMediaUploadedDocument#e39621fd flags:# nosound_video:flags.3?true file:InputFile thumb:flags.2?InputFile mime_type:string attributes:Vector<DocumentAttribute> caption:string stickers:flags.0?Vector<InputDocument> ttl_seconds:flags.1?int = InputMedia;
|
inputMediaUploadedDocument#5b38c6c1 flags:# nosound_video:flags.3?true file:InputFile thumb:flags.2?InputFile mime_type:string attributes:Vector<DocumentAttribute> stickers:flags.0?Vector<InputDocument> ttl_seconds:flags.1?int = InputMedia;
|
||||||
inputMediaDocument#5acb668e flags:# id:InputDocument caption:string ttl_seconds:flags.0?int = InputMedia;
|
inputMediaDocument#23ab23d2 flags:# id:InputDocument ttl_seconds:flags.0?int = InputMedia;
|
||||||
inputMediaVenue#c13d1c11 geo_point:InputGeoPoint title:string address:string provider:string venue_id:string venue_type:string = InputMedia;
|
inputMediaVenue#c13d1c11 geo_point:InputGeoPoint title:string address:string provider:string venue_id:string venue_type:string = InputMedia;
|
||||||
inputMediaGifExternal#4843b0fd url:string q:string = InputMedia;
|
inputMediaGifExternal#4843b0fd url:string q:string = InputMedia;
|
||||||
inputMediaPhotoExternal#922aec1 flags:# url:string caption:string ttl_seconds:flags.0?int = InputMedia;
|
inputMediaPhotoExternal#e5bbfe1a flags:# url:string ttl_seconds:flags.0?int = InputMedia;
|
||||||
inputMediaDocumentExternal#b6f74335 flags:# url:string caption:string ttl_seconds:flags.0?int = InputMedia;
|
inputMediaDocumentExternal#fb52dc99 flags:# url:string ttl_seconds:flags.0?int = InputMedia;
|
||||||
inputMediaGame#d33f43f3 id:InputGame = InputMedia;
|
inputMediaGame#d33f43f3 id:InputGame = InputMedia;
|
||||||
inputMediaInvoice#f4e096c3 flags:# title:string description:string photo:flags.0?InputWebDocument invoice:Invoice payload:bytes provider:string provider_data:DataJSON start_param:string = InputMedia;
|
inputMediaInvoice#f4e096c3 flags:# title:string description:string photo:flags.0?InputWebDocument invoice:Invoice payload:bytes provider:string provider_data:DataJSON start_param:string = InputMedia;
|
||||||
inputMediaGeoLive#7b1a118f geo_point:InputGeoPoint period:int = InputMedia;
|
inputMediaGeoLive#7b1a118f geo_point:InputGeoPoint period:int = InputMedia;
|
||||||
|
@ -240,11 +240,11 @@ message#44f9b43d flags:# out:flags.1?true mentioned:flags.4?true media_unread:fl
|
||||||
messageService#9e19a1f6 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true id:int from_id:flags.8?int to_id:Peer reply_to_msg_id:flags.3?int date:int action:MessageAction = Message;
|
messageService#9e19a1f6 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true id:int from_id:flags.8?int to_id:Peer reply_to_msg_id:flags.3?int date:int action:MessageAction = Message;
|
||||||
|
|
||||||
messageMediaEmpty#3ded6320 = MessageMedia;
|
messageMediaEmpty#3ded6320 = MessageMedia;
|
||||||
messageMediaPhoto#b5223b0f flags:# photo:flags.0?Photo caption:flags.1?string ttl_seconds:flags.2?int = MessageMedia;
|
messageMediaPhoto#695150d7 flags:# photo:flags.0?Photo ttl_seconds:flags.2?int = MessageMedia;
|
||||||
messageMediaGeo#56e0d474 geo:GeoPoint = MessageMedia;
|
messageMediaGeo#56e0d474 geo:GeoPoint = MessageMedia;
|
||||||
messageMediaContact#5e7d2f39 phone_number:string first_name:string last_name:string user_id:int = MessageMedia;
|
messageMediaContact#5e7d2f39 phone_number:string first_name:string last_name:string user_id:int = MessageMedia;
|
||||||
messageMediaUnsupported#9f84f49e = MessageMedia;
|
messageMediaUnsupported#9f84f49e = MessageMedia;
|
||||||
messageMediaDocument#7c4414d3 flags:# document:flags.0?Document caption:flags.1?string ttl_seconds:flags.2?int = MessageMedia;
|
messageMediaDocument#9cb070d7 flags:# document:flags.0?Document ttl_seconds:flags.2?int = MessageMedia;
|
||||||
messageMediaWebPage#a32dd600 webpage:WebPage = MessageMedia;
|
messageMediaWebPage#a32dd600 webpage:WebPage = MessageMedia;
|
||||||
messageMediaVenue#2ec0533f geo:GeoPoint title:string address:string provider:string venue_id:string venue_type:string = MessageMedia;
|
messageMediaVenue#2ec0533f geo:GeoPoint title:string address:string provider:string venue_id:string venue_type:string = MessageMedia;
|
||||||
messageMediaGame#fdb19008 game:Game = MessageMedia;
|
messageMediaGame#fdb19008 game:Game = MessageMedia;
|
||||||
|
@ -436,7 +436,7 @@ updateFavedStickers#e511996d = Update;
|
||||||
updateChannelReadMessagesContents#89893b45 channel_id:int messages:Vector<int> = Update;
|
updateChannelReadMessagesContents#89893b45 channel_id:int messages:Vector<int> = Update;
|
||||||
updateContactsReset#7084a7be = Update;
|
updateContactsReset#7084a7be = Update;
|
||||||
updateChannelAvailableMessages#70db6837 channel_id:int available_min_id:int = Update;
|
updateChannelAvailableMessages#70db6837 channel_id:int available_min_id:int = Update;
|
||||||
updateReadFeed#994852a9 feed_id:int max_position:FeedPosition = Update;
|
updateReadFeed#6fa68e41 flags:# feed_id:int max_position:FeedPosition unread_count:flags.0?int unread_muted_count:flags.0?int = Update;
|
||||||
|
|
||||||
updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
|
updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
|
||||||
|
|
||||||
|
@ -687,7 +687,7 @@ messages.foundGifs#450a1c0a next_offset:int results:Vector<FoundGif> = messages.
|
||||||
messages.savedGifsNotModified#e8025ca2 = messages.SavedGifs;
|
messages.savedGifsNotModified#e8025ca2 = messages.SavedGifs;
|
||||||
messages.savedGifs#2e0709a5 hash:int gifs:Vector<Document> = messages.SavedGifs;
|
messages.savedGifs#2e0709a5 hash:int gifs:Vector<Document> = messages.SavedGifs;
|
||||||
|
|
||||||
inputBotInlineMessageMediaAuto#292fed13 flags:# caption:string reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
inputBotInlineMessageMediaAuto#3380c786 flags:# message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
||||||
inputBotInlineMessageText#3dcd7a87 flags:# no_webpage:flags.0?true message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
inputBotInlineMessageText#3dcd7a87 flags:# no_webpage:flags.0?true message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
||||||
inputBotInlineMessageMediaGeo#c1b15d65 flags:# geo_point:InputGeoPoint period:int reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
inputBotInlineMessageMediaGeo#c1b15d65 flags:# geo_point:InputGeoPoint period:int reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
||||||
inputBotInlineMessageMediaVenue#aaafadc8 flags:# geo_point:InputGeoPoint title:string address:string provider:string venue_id:string reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
inputBotInlineMessageMediaVenue#aaafadc8 flags:# geo_point:InputGeoPoint title:string address:string provider:string venue_id:string reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
||||||
|
@ -699,7 +699,7 @@ inputBotInlineResultPhoto#a8d864a7 id:string type:string photo:InputPhoto send_m
|
||||||
inputBotInlineResultDocument#fff8fdc4 flags:# id:string type:string title:flags.1?string description:flags.2?string document:InputDocument send_message:InputBotInlineMessage = InputBotInlineResult;
|
inputBotInlineResultDocument#fff8fdc4 flags:# id:string type:string title:flags.1?string description:flags.2?string document:InputDocument send_message:InputBotInlineMessage = InputBotInlineResult;
|
||||||
inputBotInlineResultGame#4fa417f2 id:string short_name:string send_message:InputBotInlineMessage = InputBotInlineResult;
|
inputBotInlineResultGame#4fa417f2 id:string short_name:string send_message:InputBotInlineMessage = InputBotInlineResult;
|
||||||
|
|
||||||
botInlineMessageMediaAuto#a74b15b flags:# caption:string reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
botInlineMessageMediaAuto#764cf810 flags:# message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
||||||
botInlineMessageText#8c7f65e2 flags:# no_webpage:flags.0?true message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
botInlineMessageText#8c7f65e2 flags:# no_webpage:flags.0?true message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
||||||
botInlineMessageMediaGeo#b722de65 flags:# geo:GeoPoint period:int reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
botInlineMessageMediaGeo#b722de65 flags:# geo:GeoPoint period:int reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
||||||
botInlineMessageMediaVenue#4366232e flags:# geo:GeoPoint title:string address:string provider:string venue_id:string reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
botInlineMessageMediaVenue#4366232e flags:# geo:GeoPoint title:string address:string provider:string venue_id:string reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
||||||
|
@ -937,7 +937,7 @@ recentMeUrlStickerSet#bc0a57dc url:string set:StickerSetCovered = RecentMeUrl;
|
||||||
|
|
||||||
help.recentMeUrls#e0310d7 urls:Vector<RecentMeUrl> chats:Vector<Chat> users:Vector<User> = help.RecentMeUrls;
|
help.recentMeUrls#e0310d7 urls:Vector<RecentMeUrl> chats:Vector<Chat> users:Vector<User> = help.RecentMeUrls;
|
||||||
|
|
||||||
inputSingleMedia#5eaa7809 media:InputMedia random_id:long = InputSingleMedia;
|
inputSingleMedia#31bc3d25 media:InputMedia flags:# random_id:long message:string entities:flags.0?Vector<MessageEntity> = InputSingleMedia;
|
||||||
|
|
||||||
feedPosition#5059dc73 date:int peer:Peer id:int = FeedPosition;
|
feedPosition#5059dc73 date:int peer:Peer id:int = FeedPosition;
|
||||||
|
|
||||||
|
@ -1032,14 +1032,14 @@ contacts.resetSaved#879537f1 = Bool;
|
||||||
messages.getMessages#4222fa74 id:Vector<int> = messages.Messages;
|
messages.getMessages#4222fa74 id:Vector<int> = messages.Messages;
|
||||||
messages.getDialogs#5c0fae2 flags:# exclude_pinned:flags.0?true feed_id:flags.1?int offset_date:int offset_id:int offset_peer:InputPeer limit:int = messages.Dialogs;
|
messages.getDialogs#5c0fae2 flags:# exclude_pinned:flags.0?true feed_id:flags.1?int offset_date:int offset_id:int offset_peer:InputPeer limit:int = messages.Dialogs;
|
||||||
messages.getHistory#dcbb8260 peer:InputPeer offset_id:int offset_date:int add_offset:int limit:int max_id:int min_id:int hash:int = messages.Messages;
|
messages.getHistory#dcbb8260 peer:InputPeer offset_id:int offset_date:int add_offset:int limit:int max_id:int min_id:int hash:int = messages.Messages;
|
||||||
messages.search#39e9ea0 flags:# peer:InputPeer q:string from_id:flags.0?InputUser filter:MessagesFilter min_date:int max_date:int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
|
messages.search#8614ef68 flags:# peer:InputPeer q:string from_id:flags.0?InputUser filter:MessagesFilter min_date:int max_date:int offset_id:int add_offset:int limit:int max_id:int min_id:int hash:int = messages.Messages;
|
||||||
messages.readHistory#e306d3a peer:InputPeer max_id:int = messages.AffectedMessages;
|
messages.readHistory#e306d3a peer:InputPeer max_id:int = messages.AffectedMessages;
|
||||||
messages.deleteHistory#1c015b09 flags:# just_clear:flags.0?true peer:InputPeer max_id:int = messages.AffectedHistory;
|
messages.deleteHistory#1c015b09 flags:# just_clear:flags.0?true peer:InputPeer max_id:int = messages.AffectedHistory;
|
||||||
messages.deleteMessages#e58e95d2 flags:# revoke:flags.0?true id:Vector<int> = messages.AffectedMessages;
|
messages.deleteMessages#e58e95d2 flags:# revoke:flags.0?true id:Vector<int> = messages.AffectedMessages;
|
||||||
messages.receivedMessages#5a954c0 max_id:int = Vector<ReceivedNotifyMessage>;
|
messages.receivedMessages#5a954c0 max_id:int = Vector<ReceivedNotifyMessage>;
|
||||||
messages.setTyping#a3825e50 peer:InputPeer action:SendMessageAction = Bool;
|
messages.setTyping#a3825e50 peer:InputPeer action:SendMessageAction = Bool;
|
||||||
messages.sendMessage#fa88427a flags:# no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true peer:InputPeer reply_to_msg_id:flags.0?int message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> = Updates;
|
messages.sendMessage#fa88427a flags:# no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true peer:InputPeer reply_to_msg_id:flags.0?int message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> = Updates;
|
||||||
messages.sendMedia#c8f16791 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true peer:InputPeer reply_to_msg_id:flags.0?int media:InputMedia random_id:long reply_markup:flags.2?ReplyMarkup = Updates;
|
messages.sendMedia#b8d1262b flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true peer:InputPeer reply_to_msg_id:flags.0?int media:InputMedia message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> = Updates;
|
||||||
messages.forwardMessages#708e0195 flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true grouped:flags.9?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer = Updates;
|
messages.forwardMessages#708e0195 flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true grouped:flags.9?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer = Updates;
|
||||||
messages.reportSpam#cf1592db peer:InputPeer = Bool;
|
messages.reportSpam#cf1592db peer:InputPeer = Bool;
|
||||||
messages.hideReportSpam#a8f1709b peer:InputPeer = Bool;
|
messages.hideReportSpam#a8f1709b peer:InputPeer = Bool;
|
||||||
|
@ -1051,7 +1051,6 @@ messages.editChatPhoto#ca4c79d8 chat_id:int photo:InputChatPhoto = Updates;
|
||||||
messages.addChatUser#f9a0aa09 chat_id:int user_id:InputUser fwd_limit:int = Updates;
|
messages.addChatUser#f9a0aa09 chat_id:int user_id:InputUser fwd_limit:int = Updates;
|
||||||
messages.deleteChatUser#e0611f16 chat_id:int user_id:InputUser = Updates;
|
messages.deleteChatUser#e0611f16 chat_id:int user_id:InputUser = Updates;
|
||||||
messages.createChat#9cb126e users:Vector<InputUser> title:string = Updates;
|
messages.createChat#9cb126e users:Vector<InputUser> title:string = Updates;
|
||||||
messages.forwardMessage#33963bf9 peer:InputPeer id:int random_id:long = Updates;
|
|
||||||
messages.getDhConfig#26cf8950 version:int random_length:int = messages.DhConfig;
|
messages.getDhConfig#26cf8950 version:int random_length:int = messages.DhConfig;
|
||||||
messages.requestEncryption#f64daf43 user_id:InputUser random_id:int g_a:bytes = EncryptedChat;
|
messages.requestEncryption#f64daf43 user_id:InputUser random_id:int g_a:bytes = EncryptedChat;
|
||||||
messages.acceptEncryption#3dbc0415 peer:InputEncryptedChat g_b:bytes key_fingerprint:long = EncryptedChat;
|
messages.acceptEncryption#3dbc0415 peer:InputEncryptedChat g_b:bytes key_fingerprint:long = EncryptedChat;
|
||||||
|
@ -1065,7 +1064,7 @@ messages.receivedQueue#55a5bb66 max_qts:int = Vector<long>;
|
||||||
messages.reportEncryptedSpam#4b0c8c0f peer:InputEncryptedChat = Bool;
|
messages.reportEncryptedSpam#4b0c8c0f peer:InputEncryptedChat = Bool;
|
||||||
messages.readMessageContents#36a73f77 id:Vector<int> = messages.AffectedMessages;
|
messages.readMessageContents#36a73f77 id:Vector<int> = messages.AffectedMessages;
|
||||||
messages.getAllStickers#1c9618b1 hash:int = messages.AllStickers;
|
messages.getAllStickers#1c9618b1 hash:int = messages.AllStickers;
|
||||||
messages.getWebPagePreview#25223e24 message:string = MessageMedia;
|
messages.getWebPagePreview#8b68b0cc flags:# message:string entities:flags.3?Vector<MessageEntity> = MessageMedia;
|
||||||
messages.exportChatInvite#7d885289 chat_id:int = ExportedChatInvite;
|
messages.exportChatInvite#7d885289 chat_id:int = ExportedChatInvite;
|
||||||
messages.checkChatInvite#3eadb1bb hash:string = ChatInvite;
|
messages.checkChatInvite#3eadb1bb hash:string = ChatInvite;
|
||||||
messages.importChatInvite#6c50051c hash:string = Updates;
|
messages.importChatInvite#6c50051c hash:string = Updates;
|
||||||
|
@ -1120,7 +1119,7 @@ messages.getFavedStickers#21ce0b0e hash:int = messages.FavedStickers;
|
||||||
messages.faveSticker#b9ffc55b id:InputDocument unfave:Bool = Bool;
|
messages.faveSticker#b9ffc55b id:InputDocument unfave:Bool = Bool;
|
||||||
messages.getUnreadMentions#46578472 peer:InputPeer offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
|
messages.getUnreadMentions#46578472 peer:InputPeer offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
|
||||||
messages.readMentions#f0189d3 peer:InputPeer = messages.AffectedHistory;
|
messages.readMentions#f0189d3 peer:InputPeer = messages.AffectedHistory;
|
||||||
messages.getRecentLocations#249431e2 peer:InputPeer limit:int = messages.Messages;
|
messages.getRecentLocations#bbc45b09 peer:InputPeer limit:int hash:int = messages.Messages;
|
||||||
messages.sendMultiMedia#2095512f flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true peer:InputPeer reply_to_msg_id:flags.0?int multi_media:Vector<InputSingleMedia> = Updates;
|
messages.sendMultiMedia#2095512f flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true peer:InputPeer reply_to_msg_id:flags.0?int multi_media:Vector<InputSingleMedia> = Updates;
|
||||||
messages.uploadEncryptedFile#5057c497 peer:InputEncryptedChat file:InputEncryptedFile = EncryptedFile;
|
messages.uploadEncryptedFile#5057c497 peer:InputEncryptedChat file:InputEncryptedFile = EncryptedFile;
|
||||||
|
|
||||||
|
@ -1221,4 +1220,4 @@ langpack.getStrings#2e1ee318 lang_code:string keys:Vector<string> = Vector<LangP
|
||||||
langpack.getDifference#b2e4d7d from_version:int = LangPackDifference;
|
langpack.getDifference#b2e4d7d from_version:int = LangPackDifference;
|
||||||
langpack.getLanguages#800fd57d = Vector<LangPackLanguage>;
|
langpack.getLanguages#800fd57d = Vector<LangPackLanguage>;
|
||||||
|
|
||||||
// LAYER 75
|
// LAYER 76
|
||||||
|
|
|
@ -2990,13 +2990,9 @@ void ApiWrap::sendUploadedPhoto(
|
||||||
const MTPInputFile &file,
|
const MTPInputFile &file,
|
||||||
bool silent) {
|
bool silent) {
|
||||||
if (const auto item = App::histItemById(localId)) {
|
if (const auto item = App::histItemById(localId)) {
|
||||||
const auto caption = item->media()
|
|
||||||
? item->media()->caption()
|
|
||||||
: QString();
|
|
||||||
const auto media = MTP_inputMediaUploadedPhoto(
|
const auto media = MTP_inputMediaUploadedPhoto(
|
||||||
MTP_flags(0),
|
MTP_flags(0),
|
||||||
file,
|
file,
|
||||||
MTP_string(caption),
|
|
||||||
MTPVector<MTPInputDocument>(),
|
MTPVector<MTPInputDocument>(),
|
||||||
MTP_int(0));
|
MTP_int(0));
|
||||||
if (const auto groupId = item->groupId()) {
|
if (const auto groupId = item->groupId()) {
|
||||||
|
@ -3015,7 +3011,6 @@ void ApiWrap::sendUploadedDocument(
|
||||||
if (const auto item = App::histItemById(localId)) {
|
if (const auto item = App::histItemById(localId)) {
|
||||||
auto media = item->media();
|
auto media = item->media();
|
||||||
if (auto document = media ? media->document() : nullptr) {
|
if (auto document = media ? media->document() : nullptr) {
|
||||||
const auto caption = media->caption();
|
|
||||||
const auto groupId = item->groupId();
|
const auto groupId = item->groupId();
|
||||||
const auto flags = MTPDinputMediaUploadedDocument::Flags(0)
|
const auto flags = MTPDinputMediaUploadedDocument::Flags(0)
|
||||||
| (thumb
|
| (thumb
|
||||||
|
@ -3030,7 +3025,6 @@ void ApiWrap::sendUploadedDocument(
|
||||||
thumb ? *thumb : MTPInputFile(),
|
thumb ? *thumb : MTPInputFile(),
|
||||||
MTP_string(document->mimeString()),
|
MTP_string(document->mimeString()),
|
||||||
ComposeSendingDocumentAttributes(document),
|
ComposeSendingDocumentAttributes(document),
|
||||||
MTP_string(caption),
|
|
||||||
MTPVector<MTPInputDocument>(),
|
MTPVector<MTPInputDocument>(),
|
||||||
MTP_int(0));
|
MTP_int(0));
|
||||||
if (groupId) {
|
if (groupId) {
|
||||||
|
@ -3089,7 +3083,6 @@ void ApiWrap::uploadAlbumMedia(
|
||||||
const auto media = MTP_inputMediaPhoto(
|
const auto media = MTP_inputMediaPhoto(
|
||||||
MTP_flags(flags),
|
MTP_flags(flags),
|
||||||
MTP_inputPhoto(photo.vid, photo.vaccess_hash),
|
MTP_inputPhoto(photo.vid, photo.vaccess_hash),
|
||||||
data.has_caption() ? data.vcaption : MTP_string(QString()),
|
|
||||||
data.has_ttl_seconds() ? data.vttl_seconds : MTPint());
|
data.has_ttl_seconds() ? data.vttl_seconds : MTPint());
|
||||||
sendAlbumWithUploaded(item, groupId, media);
|
sendAlbumWithUploaded(item, groupId, media);
|
||||||
} break;
|
} break;
|
||||||
|
@ -3108,7 +3101,6 @@ void ApiWrap::uploadAlbumMedia(
|
||||||
const auto media = MTP_inputMediaDocument(
|
const auto media = MTP_inputMediaDocument(
|
||||||
MTP_flags(flags),
|
MTP_flags(flags),
|
||||||
MTP_inputDocument(document.vid, document.vaccess_hash),
|
MTP_inputDocument(document.vid, document.vaccess_hash),
|
||||||
data.has_caption() ? data.vcaption : MTP_string(QString()),
|
|
||||||
data.has_ttl_seconds() ? data.vttl_seconds : MTPint());
|
data.has_ttl_seconds() ? data.vttl_seconds : MTPint());
|
||||||
sendAlbumWithUploaded(item, groupId, media);
|
sendAlbumWithUploaded(item, groupId, media);
|
||||||
} break;
|
} break;
|
||||||
|
@ -3142,13 +3134,16 @@ void ApiWrap::sendMediaWithRandomId(
|
||||||
| (IsSilentPost(item, silent)
|
| (IsSilentPost(item, silent)
|
||||||
? MTPmessages_SendMedia::Flag::f_silent
|
? MTPmessages_SendMedia::Flag::f_silent
|
||||||
: MTPmessages_SendMedia::Flag(0));
|
: MTPmessages_SendMedia::Flag(0));
|
||||||
|
const auto message = QString(); // #TODO l76
|
||||||
history->sendRequestId = request(MTPmessages_SendMedia(
|
history->sendRequestId = request(MTPmessages_SendMedia(
|
||||||
MTP_flags(flags),
|
MTP_flags(flags),
|
||||||
history->peer->input,
|
history->peer->input,
|
||||||
MTP_int(replyTo),
|
MTP_int(replyTo),
|
||||||
media,
|
media,
|
||||||
|
MTP_string(message),
|
||||||
MTP_long(randomId),
|
MTP_long(randomId),
|
||||||
MTPnullMarkup
|
MTPnullMarkup,
|
||||||
|
MTPnullEntities
|
||||||
)).done([=](const MTPUpdates &result) { applyUpdates(result);
|
)).done([=](const MTPUpdates &result) { applyUpdates(result);
|
||||||
}).fail([=](const RPCError &error) { sendMessageFail(error);
|
}).fail([=](const RPCError &error) { sendMessageFail(error);
|
||||||
}).afterRequest(history->sendRequestId
|
}).afterRequest(history->sendRequestId
|
||||||
|
@ -3173,7 +3168,14 @@ void ApiWrap::sendAlbumWithUploaded(
|
||||||
const auto itemIt = ranges::find(album->items, localId, proj);
|
const auto itemIt = ranges::find(album->items, localId, proj);
|
||||||
Assert(itemIt != album->items.end());
|
Assert(itemIt != album->items.end());
|
||||||
Assert(!itemIt->media);
|
Assert(!itemIt->media);
|
||||||
itemIt->media = MTP_inputSingleMedia(media, MTP_long(randomId));
|
|
||||||
|
const auto original = item->originalText(); // #TODO l76 entities
|
||||||
|
itemIt->media = MTP_inputSingleMedia(
|
||||||
|
media,
|
||||||
|
MTP_flags(0),
|
||||||
|
MTP_long(randomId),
|
||||||
|
MTP_string(original.text),
|
||||||
|
MTPnullEntities);
|
||||||
|
|
||||||
sendAlbumIfReady(album.get());
|
sendAlbumIfReady(album.get());
|
||||||
}
|
}
|
||||||
|
|
|
@ -757,8 +757,10 @@ void AddBotToGroupBoxController::shareBotGame(not_null<PeerData*> chat) {
|
||||||
MTP_inputGameShortName(
|
MTP_inputGameShortName(
|
||||||
bot->inputUser,
|
bot->inputUser,
|
||||||
MTP_string(bot->botInfo->shareGameShortName))),
|
MTP_string(bot->botInfo->shareGameShortName))),
|
||||||
|
MTP_string(""),
|
||||||
MTP_long(randomId),
|
MTP_long(randomId),
|
||||||
MTPnullMarkup),
|
MTPnullMarkup,
|
||||||
|
MTPnullEntities),
|
||||||
App::main()->rpcDone(&MainWidget::sentUpdatesReceived),
|
App::main()->rpcDone(&MainWidget::sentUpdatesReceived),
|
||||||
App::main()->rpcFail(&MainWidget::sendMessageFail),
|
App::main()->rpcFail(&MainWidget::sendMessageFail),
|
||||||
0,
|
0,
|
||||||
|
|
|
@ -248,6 +248,7 @@ void BoxController::loadMoreRows() {
|
||||||
MTP_int(0),
|
MTP_int(0),
|
||||||
MTP_int(_offsetId ? kFirstPageCount : kPerPageCount),
|
MTP_int(_offsetId ? kFirstPageCount : kPerPageCount),
|
||||||
MTP_int(0),
|
MTP_int(0),
|
||||||
|
MTP_int(0),
|
||||||
MTP_int(0)
|
MTP_int(0)
|
||||||
)).done([this](const MTPmessages_Messages &result) {
|
)).done([this](const MTPmessages_Messages &result) {
|
||||||
_loadRequestId = 0;
|
_loadRequestId = 0;
|
||||||
|
|
|
@ -75,6 +75,7 @@ MTPmessages_Search PrepareSearchRequest(
|
||||||
}
|
}
|
||||||
Unexpected("Direction in PrepareSearchRequest");
|
Unexpected("Direction in PrepareSearchRequest");
|
||||||
}();
|
}();
|
||||||
|
const auto hash = int32(0);
|
||||||
|
|
||||||
return MTPmessages_Search(
|
return MTPmessages_Search(
|
||||||
MTP_flags(0),
|
MTP_flags(0),
|
||||||
|
@ -88,7 +89,8 @@ MTPmessages_Search PrepareSearchRequest(
|
||||||
MTP_int(addOffset),
|
MTP_int(addOffset),
|
||||||
MTP_int(limit),
|
MTP_int(limit),
|
||||||
MTP_int(maxId),
|
MTP_int(maxId),
|
||||||
MTP_int(minId));
|
MTP_int(minId),
|
||||||
|
MTP_int(hash));
|
||||||
}
|
}
|
||||||
|
|
||||||
SearchResult ParseSearchResult(
|
SearchResult ParseSearchResult(
|
||||||
|
|
|
@ -488,9 +488,35 @@ bool DialogsWidget::onSearchMessages(bool searchCache) {
|
||||||
MTP::cancel(base::take(_searchRequest));
|
MTP::cancel(base::take(_searchRequest));
|
||||||
if (_searchInPeer) {
|
if (_searchInPeer) {
|
||||||
auto flags = _searchQueryFrom ? MTP_flags(MTPmessages_Search::Flag::f_from_id) : MTP_flags(0);
|
auto flags = _searchQueryFrom ? MTP_flags(MTPmessages_Search::Flag::f_from_id) : MTP_flags(0);
|
||||||
_searchRequest = MTP::send(MTPmessages_Search(flags, _searchInPeer->input, MTP_string(_searchQuery), _searchQueryFrom ? _searchQueryFrom->inputUser : MTP_inputUserEmpty(), MTP_inputMessagesFilterEmpty(), MTP_int(0), MTP_int(0), MTP_int(0), MTP_int(0), MTP_int(SearchPerPage), MTP_int(0), MTP_int(0)), rpcDone(&DialogsWidget::searchReceived, DialogsSearchPeerFromStart), rpcFail(&DialogsWidget::searchFailed, DialogsSearchPeerFromStart));
|
_searchRequest = MTP::send(
|
||||||
|
MTPmessages_Search(
|
||||||
|
flags,
|
||||||
|
_searchInPeer->input,
|
||||||
|
MTP_string(_searchQuery),
|
||||||
|
_searchQueryFrom
|
||||||
|
? _searchQueryFrom->inputUser
|
||||||
|
: MTP_inputUserEmpty(),
|
||||||
|
MTP_inputMessagesFilterEmpty(),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(SearchPerPage),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(0)),
|
||||||
|
rpcDone(&DialogsWidget::searchReceived, DialogsSearchPeerFromStart),
|
||||||
|
rpcFail(&DialogsWidget::searchFailed, DialogsSearchPeerFromStart));
|
||||||
} else {
|
} else {
|
||||||
_searchRequest = MTP::send(MTPmessages_SearchGlobal(MTP_string(_searchQuery), MTP_int(0), MTP_inputPeerEmpty(), MTP_int(0), MTP_int(SearchPerPage)), rpcDone(&DialogsWidget::searchReceived, DialogsSearchFromStart), rpcFail(&DialogsWidget::searchFailed, DialogsSearchFromStart));
|
_searchRequest = MTP::send(
|
||||||
|
MTPmessages_SearchGlobal(
|
||||||
|
MTP_string(_searchQuery),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_inputPeerEmpty(),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(SearchPerPage)),
|
||||||
|
rpcDone(&DialogsWidget::searchReceived, DialogsSearchFromStart),
|
||||||
|
rpcFail(&DialogsWidget::searchFailed, DialogsSearchFromStart));
|
||||||
}
|
}
|
||||||
_searchQueries.insert(_searchRequest, _searchQuery);
|
_searchQueries.insert(_searchRequest, _searchQuery);
|
||||||
}
|
}
|
||||||
|
@ -551,9 +577,37 @@ void DialogsWidget::onSearchMore() {
|
||||||
auto offsetId = _inner->lastSearchId();
|
auto offsetId = _inner->lastSearchId();
|
||||||
if (_searchInPeer) {
|
if (_searchInPeer) {
|
||||||
auto flags = _searchQueryFrom ? MTP_flags(MTPmessages_Search::Flag::f_from_id) : MTP_flags(0);
|
auto flags = _searchQueryFrom ? MTP_flags(MTPmessages_Search::Flag::f_from_id) : MTP_flags(0);
|
||||||
_searchRequest = MTP::send(MTPmessages_Search(flags, _searchInPeer->input, MTP_string(_searchQuery), _searchQueryFrom ? _searchQueryFrom->inputUser : MTP_inputUserEmpty(), MTP_inputMessagesFilterEmpty(), MTP_int(0), MTP_int(0), MTP_int(offsetId), MTP_int(0), MTP_int(SearchPerPage), MTP_int(0), MTP_int(0)), rpcDone(&DialogsWidget::searchReceived, offsetId ? DialogsSearchPeerFromOffset : DialogsSearchPeerFromStart), rpcFail(&DialogsWidget::searchFailed, offsetId ? DialogsSearchPeerFromOffset : DialogsSearchPeerFromStart));
|
_searchRequest = MTP::send(
|
||||||
|
MTPmessages_Search(
|
||||||
|
flags,
|
||||||
|
_searchInPeer->input,
|
||||||
|
MTP_string(_searchQuery),
|
||||||
|
_searchQueryFrom
|
||||||
|
? _searchQueryFrom->inputUser
|
||||||
|
: MTP_inputUserEmpty(),
|
||||||
|
MTP_inputMessagesFilterEmpty(),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(offsetId),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(SearchPerPage),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(0)),
|
||||||
|
rpcDone(&DialogsWidget::searchReceived, offsetId ? DialogsSearchPeerFromOffset : DialogsSearchPeerFromStart),
|
||||||
|
rpcFail(&DialogsWidget::searchFailed, offsetId ? DialogsSearchPeerFromOffset : DialogsSearchPeerFromStart));
|
||||||
} else {
|
} else {
|
||||||
_searchRequest = MTP::send(MTPmessages_SearchGlobal(MTP_string(_searchQuery), MTP_int(offsetDate), offsetPeer ? offsetPeer->input : MTP_inputPeerEmpty(), MTP_int(offsetId), MTP_int(SearchPerPage)), rpcDone(&DialogsWidget::searchReceived, offsetId ? DialogsSearchFromOffset : DialogsSearchFromStart), rpcFail(&DialogsWidget::searchFailed, offsetId ? DialogsSearchFromOffset : DialogsSearchFromStart));
|
_searchRequest = MTP::send(
|
||||||
|
MTPmessages_SearchGlobal(
|
||||||
|
MTP_string(_searchQuery),
|
||||||
|
MTP_int(offsetDate),
|
||||||
|
offsetPeer
|
||||||
|
? offsetPeer->input
|
||||||
|
: MTP_inputPeerEmpty(),
|
||||||
|
MTP_int(offsetId),
|
||||||
|
MTP_int(SearchPerPage)),
|
||||||
|
rpcDone(&DialogsWidget::searchReceived, offsetId ? DialogsSearchFromOffset : DialogsSearchFromStart),
|
||||||
|
rpcFail(&DialogsWidget::searchFailed, offsetId ? DialogsSearchFromOffset : DialogsSearchFromStart));
|
||||||
}
|
}
|
||||||
if (!offsetId) {
|
if (!offsetId) {
|
||||||
_searchQueries.insert(_searchRequest, _searchQuery);
|
_searchQueries.insert(_searchRequest, _searchQuery);
|
||||||
|
@ -561,7 +615,25 @@ void DialogsWidget::onSearchMore() {
|
||||||
} else if (_searchInMigrated && !_searchFullMigrated) {
|
} else if (_searchInMigrated && !_searchFullMigrated) {
|
||||||
auto offsetMigratedId = _inner->lastSearchMigratedId();
|
auto offsetMigratedId = _inner->lastSearchMigratedId();
|
||||||
auto flags = _searchQueryFrom ? MTP_flags(MTPmessages_Search::Flag::f_from_id) : MTP_flags(0);
|
auto flags = _searchQueryFrom ? MTP_flags(MTPmessages_Search::Flag::f_from_id) : MTP_flags(0);
|
||||||
_searchRequest = MTP::send(MTPmessages_Search(flags, _searchInMigrated->input, MTP_string(_searchQuery), _searchQueryFrom ? _searchQueryFrom->inputUser : MTP_inputUserEmpty(), MTP_inputMessagesFilterEmpty(), MTP_int(0), MTP_int(0), MTP_int(offsetMigratedId), MTP_int(0), MTP_int(SearchPerPage), MTP_int(0), MTP_int(0)), rpcDone(&DialogsWidget::searchReceived, offsetMigratedId ? DialogsSearchMigratedFromOffset : DialogsSearchMigratedFromStart), rpcFail(&DialogsWidget::searchFailed, offsetMigratedId ? DialogsSearchMigratedFromOffset : DialogsSearchMigratedFromStart));
|
_searchRequest = MTP::send(
|
||||||
|
MTPmessages_Search(
|
||||||
|
flags,
|
||||||
|
_searchInMigrated->input,
|
||||||
|
MTP_string(_searchQuery),
|
||||||
|
_searchQueryFrom
|
||||||
|
? _searchQueryFrom->inputUser
|
||||||
|
: MTP_inputUserEmpty(),
|
||||||
|
MTP_inputMessagesFilterEmpty(),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(offsetMigratedId),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(SearchPerPage),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(0),
|
||||||
|
MTP_int(0)),
|
||||||
|
rpcDone(&DialogsWidget::searchReceived, offsetMigratedId ? DialogsSearchMigratedFromOffset : DialogsSearchMigratedFromStart),
|
||||||
|
rpcFail(&DialogsWidget::searchFailed, offsetMigratedId ? DialogsSearchMigratedFromOffset : DialogsSearchMigratedFromStart));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,16 +98,10 @@ TextWithEntities ExtractEditedText(const MTPMessage &message) {
|
||||||
return TextWithEntities();
|
return TextWithEntities();
|
||||||
}
|
}
|
||||||
auto &data = message.c_message();
|
auto &data = message.c_message();
|
||||||
auto mediaType = data.has_media() ? data.vmedia.type() : mtpc_messageMediaEmpty;
|
|
||||||
if (mediaType == mtpc_messageMediaDocument) {
|
|
||||||
auto &document = data.vmedia.c_messageMediaDocument();
|
|
||||||
return PrepareText(document.has_caption() ? qs(document.vcaption) : QString(), QString());
|
|
||||||
} else if (mediaType == mtpc_messageMediaPhoto) {
|
|
||||||
auto &photo = data.vmedia.c_messageMediaPhoto();
|
|
||||||
return PrepareText(photo.has_caption() ? qs(photo.vcaption) : QString(), QString());
|
|
||||||
}
|
|
||||||
auto text = TextUtilities::Clean(qs(data.vmessage));
|
auto text = TextUtilities::Clean(qs(data.vmessage));
|
||||||
auto entities = data.has_entities() ? TextUtilities::EntitiesFromMTP(data.ventities.v) : EntitiesInText();
|
auto entities = data.has_entities()
|
||||||
|
? TextUtilities::EntitiesFromMTP(data.ventities.v)
|
||||||
|
: EntitiesInText();
|
||||||
return { text, entities };
|
return { text, entities };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -717,7 +717,7 @@ void HistoryMessage::refreshMedia(const MTPMessageMedia *media) {
|
||||||
|
|
||||||
void HistoryMessage::setMedia(const MTPMessageMedia &media) {
|
void HistoryMessage::setMedia(const MTPMessageMedia &media) {
|
||||||
_media = CreateMedia(this, media);
|
_media = CreateMedia(this, media);
|
||||||
if (const auto invoice = _media->invoice()) {
|
if (const auto invoice = _media ? _media->invoice() : nullptr) {
|
||||||
if (invoice->receiptMsgId) {
|
if (invoice->receiptMsgId) {
|
||||||
replaceBuyWithReceiptInMarkup();
|
replaceBuyWithReceiptInMarkup();
|
||||||
}
|
}
|
||||||
|
@ -773,7 +773,7 @@ std::unique_ptr<Data::Media> HistoryMessage::CreateMedia(
|
||||||
return std::make_unique<Data::MediaPhoto>(
|
return std::make_unique<Data::MediaPhoto>(
|
||||||
item,
|
item,
|
||||||
Auth().data().photo(data.vphoto.c_photo()),
|
Auth().data().photo(data.vphoto.c_photo()),
|
||||||
data.has_caption() ? qs(data.vcaption) : QString());
|
/*data.has_caption() ? qs(data.vcaption) : */QString()); // #TODO l76 caption
|
||||||
} else {
|
} else {
|
||||||
LOG(("API Error: "
|
LOG(("API Error: "
|
||||||
"Got MTPMessageMediaPhoto "
|
"Got MTPMessageMediaPhoto "
|
||||||
|
@ -791,7 +791,7 @@ std::unique_ptr<Data::Media> HistoryMessage::CreateMedia(
|
||||||
return std::make_unique<Data::MediaFile>(
|
return std::make_unique<Data::MediaFile>(
|
||||||
item,
|
item,
|
||||||
Auth().data().document(data.vdocument.c_document()),
|
Auth().data().document(data.vdocument.c_document()),
|
||||||
data.has_caption() ? qs(data.vcaption) : QString());
|
/*data.has_caption() ? qs(data.vcaption) :*/ QString()); // #TODO l76 caption
|
||||||
} else {
|
} else {
|
||||||
LOG(("API Error: "
|
LOG(("API Error: "
|
||||||
"Got MTPMessageMediaDocument "
|
"Got MTPMessageMediaDocument "
|
||||||
|
|
|
@ -4263,13 +4263,9 @@ void HistoryWidget::sendFileConfirmed(
|
||||||
auto messagePostAuthor = channelPost ? (Auth().user()->firstName + ' ' + Auth().user()->lastName) : QString();
|
auto messagePostAuthor = channelPost ? (Auth().user()->firstName + ' ' + Auth().user()->lastName) : QString();
|
||||||
if (file->type == SendMediaType::Photo) {
|
if (file->type == SendMediaType::Photo) {
|
||||||
auto photoFlags = MTPDmessageMediaPhoto::Flag::f_photo | 0;
|
auto photoFlags = MTPDmessageMediaPhoto::Flag::f_photo | 0;
|
||||||
if (!file->caption.isEmpty()) {
|
|
||||||
photoFlags |= MTPDmessageMediaPhoto::Flag::f_caption;
|
|
||||||
}
|
|
||||||
auto photo = MTP_messageMediaPhoto(
|
auto photo = MTP_messageMediaPhoto(
|
||||||
MTP_flags(photoFlags),
|
MTP_flags(photoFlags),
|
||||||
file->photo,
|
file->photo,
|
||||||
MTP_string(file->caption),
|
|
||||||
MTPint());
|
MTPint());
|
||||||
history->addNewMessage(
|
history->addNewMessage(
|
||||||
MTP_message(
|
MTP_message(
|
||||||
|
@ -4281,10 +4277,10 @@ void HistoryWidget::sendFileConfirmed(
|
||||||
MTPint(),
|
MTPint(),
|
||||||
MTP_int(file->to.replyTo),
|
MTP_int(file->to.replyTo),
|
||||||
MTP_int(unixtime()),
|
MTP_int(unixtime()),
|
||||||
MTP_string(""),
|
MTP_string(file->caption),
|
||||||
photo,
|
photo,
|
||||||
MTPnullMarkup,
|
MTPnullMarkup,
|
||||||
MTPnullEntities,
|
MTPnullEntities,// #TODO l76 entities
|
||||||
MTP_int(1),
|
MTP_int(1),
|
||||||
MTPint(),
|
MTPint(),
|
||||||
MTP_string(messagePostAuthor),
|
MTP_string(messagePostAuthor),
|
||||||
|
@ -4292,13 +4288,9 @@ void HistoryWidget::sendFileConfirmed(
|
||||||
NewMessageUnread);
|
NewMessageUnread);
|
||||||
} else if (file->type == SendMediaType::File) {
|
} else if (file->type == SendMediaType::File) {
|
||||||
auto documentFlags = MTPDmessageMediaDocument::Flag::f_document | 0;
|
auto documentFlags = MTPDmessageMediaDocument::Flag::f_document | 0;
|
||||||
if (!file->caption.isEmpty()) {
|
|
||||||
documentFlags |= MTPDmessageMediaDocument::Flag::f_caption;
|
|
||||||
}
|
|
||||||
auto document = MTP_messageMediaDocument(
|
auto document = MTP_messageMediaDocument(
|
||||||
MTP_flags(documentFlags),
|
MTP_flags(documentFlags),
|
||||||
file->document,
|
file->document,
|
||||||
MTP_string(file->caption),
|
|
||||||
MTPint());
|
MTPint());
|
||||||
history->addNewMessage(
|
history->addNewMessage(
|
||||||
MTP_message(
|
MTP_message(
|
||||||
|
@ -4310,10 +4302,10 @@ void HistoryWidget::sendFileConfirmed(
|
||||||
MTPint(),
|
MTPint(),
|
||||||
MTP_int(file->to.replyTo),
|
MTP_int(file->to.replyTo),
|
||||||
MTP_int(unixtime()),
|
MTP_int(unixtime()),
|
||||||
MTP_string(""),
|
MTP_string(file->caption),
|
||||||
document,
|
document,
|
||||||
MTPnullMarkup,
|
MTPnullMarkup,
|
||||||
MTPnullEntities,
|
MTPnullEntities, // #TODO l76 entities
|
||||||
MTP_int(1),
|
MTP_int(1),
|
||||||
MTPint(),
|
MTPint(),
|
||||||
MTP_string(messagePostAuthor),
|
MTP_string(messagePostAuthor),
|
||||||
|
@ -4324,13 +4316,9 @@ void HistoryWidget::sendFileConfirmed(
|
||||||
flags |= MTPDmessage::Flag::f_media_unread;
|
flags |= MTPDmessage::Flag::f_media_unread;
|
||||||
}
|
}
|
||||||
auto documentFlags = MTPDmessageMediaDocument::Flag::f_document | 0;
|
auto documentFlags = MTPDmessageMediaDocument::Flag::f_document | 0;
|
||||||
if (!file->caption.isEmpty()) {
|
|
||||||
documentFlags |= MTPDmessageMediaDocument::Flag::f_caption;
|
|
||||||
}
|
|
||||||
auto document = MTP_messageMediaDocument(
|
auto document = MTP_messageMediaDocument(
|
||||||
MTP_flags(documentFlags),
|
MTP_flags(documentFlags),
|
||||||
file->document,
|
file->document,
|
||||||
MTP_string(file->caption),
|
|
||||||
MTPint());
|
MTPint());
|
||||||
history->addNewMessage(
|
history->addNewMessage(
|
||||||
MTP_message(
|
MTP_message(
|
||||||
|
@ -4342,10 +4330,10 @@ void HistoryWidget::sendFileConfirmed(
|
||||||
MTPint(),
|
MTPint(),
|
||||||
MTP_int(file->to.replyTo),
|
MTP_int(file->to.replyTo),
|
||||||
MTP_int(unixtime()),
|
MTP_int(unixtime()),
|
||||||
MTP_string(""),
|
MTP_string(file->caption),
|
||||||
document,
|
document,
|
||||||
MTPnullMarkup,
|
MTPnullMarkup,
|
||||||
MTPnullEntities,
|
MTPnullEntities,// #TODO l76 entities
|
||||||
MTP_int(1),
|
MTP_int(1),
|
||||||
MTPint(),
|
MTPint(),
|
||||||
MTP_string(messagePostAuthor),
|
MTP_string(messagePostAuthor),
|
||||||
|
@ -5446,10 +5434,11 @@ bool HistoryWidget::sendExistingDocument(
|
||||||
MTP_inputMediaDocument(
|
MTP_inputMediaDocument(
|
||||||
MTP_flags(0),
|
MTP_flags(0),
|
||||||
mtpInput,
|
mtpInput,
|
||||||
MTP_string(caption),
|
|
||||||
MTPint()),
|
MTPint()),
|
||||||
|
MTP_string(caption),
|
||||||
MTP_long(randomId),
|
MTP_long(randomId),
|
||||||
MTPnullMarkup),
|
MTPnullMarkup,
|
||||||
|
MTPnullEntities), // #TODO l76 entities
|
||||||
App::main()->rpcDone(&MainWidget::sentUpdatesReceived),
|
App::main()->rpcDone(&MainWidget::sentUpdatesReceived),
|
||||||
App::main()->rpcFail(&MainWidget::sendMessageFail),
|
App::main()->rpcFail(&MainWidget::sendMessageFail),
|
||||||
0,
|
0,
|
||||||
|
@ -5533,10 +5522,11 @@ void HistoryWidget::sendExistingPhoto(
|
||||||
MTP_inputMediaPhoto(
|
MTP_inputMediaPhoto(
|
||||||
MTP_flags(0),
|
MTP_flags(0),
|
||||||
MTP_inputPhoto(MTP_long(photo->id), MTP_long(photo->access)),
|
MTP_inputPhoto(MTP_long(photo->id), MTP_long(photo->access)),
|
||||||
MTP_string(caption),
|
|
||||||
MTPint()),
|
MTPint()),
|
||||||
|
MTP_string(caption),
|
||||||
MTP_long(randomId),
|
MTP_long(randomId),
|
||||||
MTPnullMarkup),
|
MTPnullMarkup,
|
||||||
|
MTPnullEntities), // #TODO l76 entities
|
||||||
App::main()->rpcDone(&MainWidget::sentUpdatesReceived),
|
App::main()->rpcDone(&MainWidget::sentUpdatesReceived),
|
||||||
App::main()->rpcFail(&MainWidget::sendMessageFail),
|
App::main()->rpcFail(&MainWidget::sendMessageFail),
|
||||||
0,
|
0,
|
||||||
|
@ -5940,7 +5930,12 @@ void HistoryWidget::onPreviewCheck() {
|
||||||
} else {
|
} else {
|
||||||
PreviewCache::const_iterator i = _previewCache.constFind(_previewLinks);
|
PreviewCache::const_iterator i = _previewCache.constFind(_previewLinks);
|
||||||
if (i == _previewCache.cend()) {
|
if (i == _previewCache.cend()) {
|
||||||
_previewRequest = MTP::send(MTPmessages_GetWebPagePreview(MTP_string(_previewLinks)), rpcDone(&HistoryWidget::gotPreview, _previewLinks));
|
_previewRequest = MTP::send(
|
||||||
|
MTPmessages_GetWebPagePreview(
|
||||||
|
MTP_flags(0),
|
||||||
|
MTP_string(_previewLinks),
|
||||||
|
MTPnullEntities),
|
||||||
|
rpcDone(&HistoryWidget::gotPreview, _previewLinks));
|
||||||
} else if (i.value()) {
|
} else if (i.value()) {
|
||||||
_previewData = Auth().data().webpage(i.value());
|
_previewData = Auth().data().webpage(i.value());
|
||||||
updatePreview();
|
updatePreview();
|
||||||
|
@ -5952,8 +5947,15 @@ void HistoryWidget::onPreviewCheck() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void HistoryWidget::onPreviewTimeout() {
|
void HistoryWidget::onPreviewTimeout() {
|
||||||
if (_previewData && _previewData->pendingTill > 0 && !_previewLinks.isEmpty()) {
|
if (_previewData
|
||||||
_previewRequest = MTP::send(MTPmessages_GetWebPagePreview(MTP_string(_previewLinks)), rpcDone(&HistoryWidget::gotPreview, _previewLinks));
|
&& (_previewData->pendingTill > 0)
|
||||||
|
&& !_previewLinks.isEmpty()) {
|
||||||
|
_previewRequest = MTP::send(
|
||||||
|
MTPmessages_GetWebPagePreview(
|
||||||
|
MTP_flags(0),
|
||||||
|
MTP_string(_previewLinks),
|
||||||
|
MTPnullEntities),
|
||||||
|
rpcDone(&HistoryWidget::gotPreview, _previewLinks));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -110,15 +110,18 @@ std::unique_ptr<Result> Result::create(uint64 queryId, const MTPBotInlineResult
|
||||||
switch (message->type()) {
|
switch (message->type()) {
|
||||||
case mtpc_botInlineMessageMediaAuto: {
|
case mtpc_botInlineMessageMediaAuto: {
|
||||||
auto &r = message->c_botInlineMessageMediaAuto();
|
auto &r = message->c_botInlineMessageMediaAuto();
|
||||||
|
auto entities = r.has_entities()
|
||||||
|
? TextUtilities::EntitiesFromMTP(r.ventities.v)
|
||||||
|
: EntitiesInText();
|
||||||
if (result->_type == Type::Photo) {
|
if (result->_type == Type::Photo) {
|
||||||
result->createPhoto();
|
result->createPhoto();
|
||||||
result->sendData = std::make_unique<internal::SendPhoto>(result->_photo, qs(r.vcaption));
|
result->sendData = std::make_unique<internal::SendPhoto>(result->_photo, qs(r.vmessage), entities);
|
||||||
} else if (result->_type == Type::Game) {
|
} else if (result->_type == Type::Game) {
|
||||||
result->createGame();
|
result->createGame();
|
||||||
result->sendData = std::make_unique<internal::SendGame>(result->_game);
|
result->sendData = std::make_unique<internal::SendGame>(result->_game);
|
||||||
} else {
|
} else {
|
||||||
result->createDocument();
|
result->createDocument();
|
||||||
result->sendData = std::make_unique<internal::SendFile>(result->_document, qs(r.vcaption));
|
result->sendData = std::make_unique<internal::SendFile>(result->_document, qs(r.vmessage), entities);
|
||||||
}
|
}
|
||||||
if (r.has_reply_markup()) {
|
if (r.has_reply_markup()) {
|
||||||
result->_mtpKeyboard = std::make_unique<MTPReplyMarkup>(r.vreply_markup);
|
result->_mtpKeyboard = std::make_unique<MTPReplyMarkup>(r.vreply_markup);
|
||||||
|
@ -127,7 +130,9 @@ std::unique_ptr<Result> Result::create(uint64 queryId, const MTPBotInlineResult
|
||||||
|
|
||||||
case mtpc_botInlineMessageText: {
|
case mtpc_botInlineMessageText: {
|
||||||
auto &r = message->c_botInlineMessageText();
|
auto &r = message->c_botInlineMessageText();
|
||||||
auto entities = r.has_entities() ? TextUtilities::EntitiesFromMTP(r.ventities.v) : EntitiesInText();
|
auto entities = r.has_entities()
|
||||||
|
? TextUtilities::EntitiesFromMTP(r.ventities.v)
|
||||||
|
: EntitiesInText();
|
||||||
result->sendData = std::make_unique<internal::SendText>(qs(r.vmessage), entities, r.is_no_webpage());
|
result->sendData = std::make_unique<internal::SendText>(qs(r.vmessage), entities, r.is_no_webpage());
|
||||||
if (result->_type == Type::Photo) {
|
if (result->_type == Type::Photo) {
|
||||||
result->createPhoto();
|
result->createPhoto();
|
||||||
|
|
|
@ -135,7 +135,8 @@ void SendPhoto::addToHistory(
|
||||||
fromId,
|
fromId,
|
||||||
postAuthor,
|
postAuthor,
|
||||||
_photo,
|
_photo,
|
||||||
_caption,
|
_message,
|
||||||
|
//_entities,
|
||||||
markup);
|
markup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -170,7 +171,8 @@ void SendFile::addToHistory(
|
||||||
fromId,
|
fromId,
|
||||||
postAuthor,
|
postAuthor,
|
||||||
_document,
|
_document,
|
||||||
_caption,
|
_message,
|
||||||
|
//_entities,
|
||||||
markup);
|
markup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,10 @@ public:
|
||||||
// Plain text message.
|
// Plain text message.
|
||||||
class SendText : public SendDataCommon {
|
class SendText : public SendDataCommon {
|
||||||
public:
|
public:
|
||||||
SendText(const QString &message, const EntitiesInText &entities, bool/* noWebPage*/)
|
SendText(
|
||||||
|
const QString &message,
|
||||||
|
const EntitiesInText &entities,
|
||||||
|
bool/* noWebPage*/)
|
||||||
: _message(message)
|
: _message(message)
|
||||||
, _entities(entities) {
|
, _entities(entities) {
|
||||||
}
|
}
|
||||||
|
@ -188,9 +191,13 @@ private:
|
||||||
// Message with photo.
|
// Message with photo.
|
||||||
class SendPhoto : public SendData {
|
class SendPhoto : public SendData {
|
||||||
public:
|
public:
|
||||||
SendPhoto(PhotoData *photo, const QString &caption)
|
SendPhoto(
|
||||||
|
PhotoData *photo,
|
||||||
|
const QString &message,
|
||||||
|
const EntitiesInText &entities)
|
||||||
: _photo(photo)
|
: _photo(photo)
|
||||||
, _caption(caption) {
|
, _message(message)
|
||||||
|
, _entities(entities) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isValid() const override {
|
bool isValid() const override {
|
||||||
|
@ -215,16 +222,21 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PhotoData *_photo;
|
PhotoData *_photo;
|
||||||
QString _caption;
|
QString _message;
|
||||||
|
EntitiesInText _entities;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Message with file.
|
// Message with file.
|
||||||
class SendFile : public SendData {
|
class SendFile : public SendData {
|
||||||
public:
|
public:
|
||||||
SendFile(DocumentData *document, const QString &caption)
|
SendFile(
|
||||||
|
DocumentData *document,
|
||||||
|
const QString &message,
|
||||||
|
const EntitiesInText &entities)
|
||||||
: _document(document)
|
: _document(document)
|
||||||
, _caption(caption) {
|
, _message(message)
|
||||||
|
, _entities(entities) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isValid() const override {
|
bool isValid() const override {
|
||||||
|
@ -249,7 +261,8 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DocumentData *_document;
|
DocumentData *_document;
|
||||||
QString _caption;
|
QString _message;
|
||||||
|
EntitiesInText _entities;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue