Fix pushMessageContent captions.
GitOrigin-RevId: cb52936eaaa0208349d442c49e833eb833c0c96f
This commit is contained in:
parent
79cc50ed41
commit
1e9d2f0247
@ -1943,8 +1943,8 @@ pushMessageContentHidden is_pinned:Bool = PushMessageContent;
|
|||||||
//@description An animation message (GIF-style) @animation Message content; may be null @caption Animation caption @is_pinned True, if the message is a pinned message with the specified content
|
//@description An animation message (GIF-style) @animation Message content; may be null @caption Animation caption @is_pinned True, if the message is a pinned message with the specified content
|
||||||
pushMessageContentAnimation animation:animation caption:string is_pinned:Bool = PushMessageContent;
|
pushMessageContentAnimation animation:animation caption:string is_pinned:Bool = PushMessageContent;
|
||||||
|
|
||||||
//@description An audio message @audio Message content; may be null @caption Audio caption @is_pinned True, if the message is a pinned message with the specified content
|
//@description An audio message @audio Message content; may be null @is_pinned True, if the message is a pinned message with the specified content
|
||||||
pushMessageContentAudio audio:audio caption:string is_pinned:Bool = PushMessageContent;
|
pushMessageContentAudio audio:audio is_pinned:Bool = PushMessageContent;
|
||||||
|
|
||||||
//@description A message with a user contact @name Contact's name @is_pinned True, if the message is a pinned message with the specified content
|
//@description A message with a user contact @name Contact's name @is_pinned True, if the message is a pinned message with the specified content
|
||||||
pushMessageContentContact name:string is_pinned:Bool = PushMessageContent;
|
pushMessageContentContact name:string is_pinned:Bool = PushMessageContent;
|
||||||
@ -1952,8 +1952,8 @@ pushMessageContentContact name:string is_pinned:Bool = PushMessageContent;
|
|||||||
//@description A contact has registered with Telegram
|
//@description A contact has registered with Telegram
|
||||||
pushMessageContentContactRegistered = PushMessageContent;
|
pushMessageContentContactRegistered = PushMessageContent;
|
||||||
|
|
||||||
//@description A document message (a general file) @document Message content; may be null @caption Document caption @is_pinned True, if the message is a pinned message with the specified content
|
//@description A document message (a general file) @document Message content; may be null @is_pinned True, if the message is a pinned message with the specified content
|
||||||
pushMessageContentDocument document:document caption:string is_pinned:Bool = PushMessageContent;
|
pushMessageContentDocument document:document is_pinned:Bool = PushMessageContent;
|
||||||
|
|
||||||
//@description A message with a game @title Game title @is_pinned True, if the message is a pinned message with the specified content
|
//@description A message with a game @title Game title @is_pinned True, if the message is a pinned message with the specified content
|
||||||
pushMessageContentGame title:string is_pinned:Bool = PushMessageContent;
|
pushMessageContentGame title:string is_pinned:Bool = PushMessageContent;
|
||||||
@ -1961,8 +1961,8 @@ pushMessageContentGame title:string is_pinned:Bool = PushMessageContent;
|
|||||||
//@description A new high score was achieved in a game @title Game title, empty for pinned message @score New score, 0 for pinned message @is_pinned True, if the message is a pinned message with the specified content
|
//@description A new high score was achieved in a game @title Game title, empty for pinned message @score New score, 0 for pinned message @is_pinned True, if the message is a pinned message with the specified content
|
||||||
pushMessageContentGameScore title:string score:int32 is_pinned:Bool = PushMessageContent;
|
pushMessageContentGameScore title:string score:int32 is_pinned:Bool = PushMessageContent;
|
||||||
|
|
||||||
//@description A message with an invoice from a bot @title Product title @is_pinned True, if the message is a pinned message with the specified content
|
//@description A message with an invoice from a bot @price Product price @is_pinned True, if the message is a pinned message with the specified content
|
||||||
pushMessageContentInvoice title:string is_pinned:Bool = PushMessageContent;
|
pushMessageContentInvoice price:string is_pinned:Bool = PushMessageContent;
|
||||||
|
|
||||||
//@description A message with a location @is_live True, if the location is live @is_pinned True, if the message is a pinned message with the specified content
|
//@description A message with a location @is_live True, if the location is live @is_pinned True, if the message is a pinned message with the specified content
|
||||||
pushMessageContentLocation is_live:Bool is_pinned:Bool = PushMessageContent;
|
pushMessageContentLocation is_live:Bool is_pinned:Bool = PushMessageContent;
|
||||||
@ -1988,8 +1988,8 @@ pushMessageContentVideo video:video caption:string is_secret:Bool is_pinned:Bool
|
|||||||
//@description A video note message @video_note Message content; may be null @is_pinned True, if the message is a pinned message with the specified content
|
//@description A video note message @video_note Message content; may be null @is_pinned True, if the message is a pinned message with the specified content
|
||||||
pushMessageContentVideoNote video_note:videoNote is_pinned:Bool = PushMessageContent;
|
pushMessageContentVideoNote video_note:videoNote is_pinned:Bool = PushMessageContent;
|
||||||
|
|
||||||
//@description A voice note message @voice_note Message content; may be null @caption Voice note caption @is_pinned True, if the message is a pinned message with the specified content
|
//@description A voice note message @voice_note Message content; may be null @is_pinned True, if the message is a pinned message with the specified content
|
||||||
pushMessageContentVoiceNote voice_note:voiceNote caption:string is_pinned:Bool = PushMessageContent;
|
pushMessageContentVoiceNote voice_note:voiceNote is_pinned:Bool = PushMessageContent;
|
||||||
|
|
||||||
//@description A newly created basic group
|
//@description A newly created basic group
|
||||||
pushMessageContentBasicGroupChatCreate = PushMessageContent;
|
pushMessageContentBasicGroupChatCreate = PushMessageContent;
|
||||||
|
Binary file not shown.
@ -50,6 +50,7 @@
|
|||||||
#include "td/utils/Slice.h"
|
#include "td/utils/Slice.h"
|
||||||
#include "td/utils/Time.h"
|
#include "td/utils/Time.h"
|
||||||
#include "td/utils/tl_parsers.h"
|
#include "td/utils/tl_parsers.h"
|
||||||
|
#include "td/utils/utf8.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
@ -3292,6 +3293,31 @@ Status NotificationManager::process_push_notification_payload(string payload, Pr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!arg.empty()) {
|
||||||
|
uint32 emoji = [&] {
|
||||||
|
if (ends_with(loc_key, "PHOTO")) {
|
||||||
|
return 0x1F5BC;
|
||||||
|
}
|
||||||
|
if (ends_with(loc_key, "ANIMATION")) {
|
||||||
|
return 0x1F3AC;
|
||||||
|
}
|
||||||
|
if (ends_with(loc_key, "DOCUMENT")) {
|
||||||
|
return 0x1F4CE;
|
||||||
|
}
|
||||||
|
if (ends_with(loc_key, "VIDEO")) {
|
||||||
|
return 0x1F4F9;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}();
|
||||||
|
if (emoji != 0) {
|
||||||
|
string prefix;
|
||||||
|
append_utf8_character(prefix, emoji);
|
||||||
|
prefix += ' ';
|
||||||
|
if (begins_with(arg, prefix)) {
|
||||||
|
arg = arg.substr(prefix.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (has_json_object_field(custom, "edit_date")) {
|
if (has_json_object_field(custom, "edit_date")) {
|
||||||
if (random_id != 0) {
|
if (random_id != 0) {
|
||||||
|
@ -179,7 +179,7 @@ class NotificationTypePushMessage : public NotificationType {
|
|||||||
if (key == "MESSAGE_AUDIO") {
|
if (key == "MESSAGE_AUDIO") {
|
||||||
auto audios_manager = G()->td().get_actor_unsafe()->audios_manager_.get();
|
auto audios_manager = G()->td().get_actor_unsafe()->audios_manager_.get();
|
||||||
return td_api::make_object<td_api::pushMessageContentAudio>(
|
return td_api::make_object<td_api::pushMessageContentAudio>(
|
||||||
audios_manager->get_audio_object(document.file_id), arg, is_pinned);
|
audios_manager->get_audio_object(document.file_id), is_pinned);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'B':
|
case 'B':
|
||||||
@ -226,7 +226,7 @@ class NotificationTypePushMessage : public NotificationType {
|
|||||||
if (key == "MESSAGE_DOCUMENT") {
|
if (key == "MESSAGE_DOCUMENT") {
|
||||||
auto documents_manager = G()->td().get_actor_unsafe()->documents_manager_.get();
|
auto documents_manager = G()->td().get_actor_unsafe()->documents_manager_.get();
|
||||||
return td_api::make_object<td_api::pushMessageContentDocument>(
|
return td_api::make_object<td_api::pushMessageContentDocument>(
|
||||||
documents_manager->get_document_object(document.file_id), arg, is_pinned);
|
documents_manager->get_document_object(document.file_id), is_pinned);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'F':
|
case 'F':
|
||||||
@ -288,7 +288,7 @@ class NotificationTypePushMessage : public NotificationType {
|
|||||||
if (key == "MESSAGE_STICKER") {
|
if (key == "MESSAGE_STICKER") {
|
||||||
auto stickers_manager = G()->td().get_actor_unsafe()->stickers_manager_.get();
|
auto stickers_manager = G()->td().get_actor_unsafe()->stickers_manager_.get();
|
||||||
return td_api::make_object<td_api::pushMessageContentSticker>(
|
return td_api::make_object<td_api::pushMessageContentSticker>(
|
||||||
stickers_manager->get_sticker_object(document.file_id), arg, is_pinned);
|
stickers_manager->get_sticker_object(document.file_id), trim(arg), is_pinned);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'T':
|
case 'T':
|
||||||
@ -313,7 +313,7 @@ class NotificationTypePushMessage : public NotificationType {
|
|||||||
if (key == "MESSAGE_VOICE_NOTE") {
|
if (key == "MESSAGE_VOICE_NOTE") {
|
||||||
auto voice_notes_manager = G()->td().get_actor_unsafe()->voice_notes_manager_.get();
|
auto voice_notes_manager = G()->td().get_actor_unsafe()->voice_notes_manager_.get();
|
||||||
return td_api::make_object<td_api::pushMessageContentVoiceNote>(
|
return td_api::make_object<td_api::pushMessageContentVoiceNote>(
|
||||||
voice_notes_manager->get_voice_note_object(document.file_id), arg, is_pinned);
|
voice_notes_manager->get_voice_note_object(document.file_id), is_pinned);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
Reference in New Issue
Block a user