2
0
mirror of https://github.com/ars3niy/tdlib-purple synced 2025-08-22 01:49:29 +00:00

Support emoji message from tdlib 1.7.9, and print more message types

This commit is contained in:
Arseniy Lartsev 2021-12-08 00:34:21 +01:00
parent 3e999ed744
commit 9d6ed1f2d2
3 changed files with 24 additions and 3 deletions

View File

@ -6,9 +6,9 @@ project(tdlib-purple VERSION ${VERSION} LANGUAGES CXX)
find_package(Td REQUIRED)
math(EXPR TDLIB_VERSION_NUMBER "10000*${Td_VERSION_MAJOR} + 100*${Td_VERSION_MINOR} + ${Td_VERSION_PATCH}")
if (${TDLIB_VERSION_NUMBER} LESS 10708)
message(FATAL_ERROR "tdlib version 1.7.8 or newer is required")
endif (${TDLIB_VERSION_NUMBER} LESS 10708)
if (${TDLIB_VERSION_NUMBER} LESS 10709)
message(FATAL_ERROR "tdlib version 1.7.9 or newer is required")
endif (${TDLIB_VERSION_NUMBER} LESS 10709)
set(NoPkgConfig FALSE CACHE BOOL "Do not use pkg-config")
set(NoWebp FALSE CACHE BOOL "Do not decode webp stickers")

View File

@ -38,10 +38,16 @@ static std::string messageTypeToString(const td::td_api::MessageContent &content
C(messageLocation)
C(messageVenue)
C(messageContact)
C(messageAnimatedEmoji)
C(messageDice)
C(messageGame)
C(messagePoll)
C(messageInvoice)
C(messageCall)
C(messageVideoChatScheduled)
C(messageVideoChatStarted)
C(messageVideoChatEnded)
C(messageInviteVideoChatParticipants)
C(messageBasicGroupChatCreate)
C(messageSupergroupChatCreate)
C(messageChatChangeTitle)
@ -49,11 +55,13 @@ static std::string messageTypeToString(const td::td_api::MessageContent &content
C(messageChatDeletePhoto)
C(messageChatAddMembers)
C(messageChatJoinByLink)
C(messageChatJoinByRequest)
C(messageChatDeleteMember)
C(messageChatUpgradeTo)
C(messageChatUpgradeFrom)
C(messagePinMessage)
C(messageScreenshotTaken)
C(messageChatSetTheme)
C(messageChatSetTtl)
C(messageCustomServiceAction)
C(messageGameScore)
@ -63,6 +71,7 @@ static std::string messageTypeToString(const td::td_api::MessageContent &content
C(messageWebsiteConnected)
C(messagePassportDataSent)
C(messagePassportDataReceived)
C(messageProximityAlertTriggered)
C(messageUnsupported)
}
#undef C

View File

@ -220,6 +220,12 @@ static std::string quoteMessage(const td::td_api::message *message, TdAccountDat
// TRANSLATOR: In-line placeholder when a sticker is being replied to.
text = _("[sticker]");
break;
case td::td_api::messageAnimatedEmoji::ID: {
const td::td_api::messageAnimatedEmoji &animatedEmoji =
static_cast<const td::td_api::messageAnimatedEmoji &>(*message->content_);
text = animatedEmoji.emoji_;
break;
}
default:
text = '[' + getUnsupportedMessageDescription(*message->content_) + ']';
break;
@ -679,6 +685,12 @@ void showMessage(const td::td_api::chat &chat, IncomingMessage &fullMessage,
case td::td_api::messageCall::ID:
showCallMessage(chat, messageInfo, static_cast<td::td_api::messageCall &>(*message.content_), account);
break;
case td::td_api::messageAnimatedEmoji::ID: {
const td::td_api::messageAnimatedEmoji &animatedEmoji =
static_cast<const td::td_api::messageAnimatedEmoji &>(*message.content_);
showMessageText(account, chat, messageInfo, animatedEmoji.emoji_.c_str(), NULL);
break;
}
default: {
// TRANSLATOR: In-chat error message, argument will be a Telegram type.
std::string notice = getUnsupportedMessageDescription(*message.content_);