summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-10-03 11:41:51 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-10-03 11:42:45 +0300
commit673577296fc06f446946d5f651bb33547399e25c (patch)
treeda321f73c15780d1bf38ebcf42cb3039d8705cea
parent94d491fae2ce798d1c2e9bfd699249f636d0f47b (diff)
Telegram: support for active reactions' list
-rw-r--r--protocols/Telegram/src/proto.h2
-rw-r--r--protocols/Telegram/src/server.cpp14
2 files changed, 16 insertions, 0 deletions
diff --git a/protocols/Telegram/src/proto.h b/protocols/Telegram/src/proto.h
index a4bfc440d2..dd2e1263d3 100644
--- a/protocols/Telegram/src/proto.h
+++ b/protocols/Telegram/src/proto.h
@@ -202,6 +202,7 @@ class CTelegramProto : public PROTO<CTelegramProto>
bool m_bAuthorized, m_bTerminated, m_bUnregister = false, m_bSmileyAdd = false;
int32_t m_iClientId, m_iQueryId;
+ CMStringA m_defaultEmoji;
OBJLIST<TG_OWN_MESSAGE> m_arOwnMsg;
OBJLIST<TG_REQUEST_BASE> m_arRequests;
@@ -245,6 +246,7 @@ class CTelegramProto : public PROTO<CTelegramProto>
void ProcessChatPosition(TD::updateChatPosition *pObj);
void ProcessChatReactions(TD::updateChatAvailableReactions *);
void ProcessConnectionState(TD::updateConnectionState *pObj);
+ void ProcessActiveEmoji(TD::updateActiveEmojiReactions *pObj);
void ProcessDeleteMessage(TD::updateDeleteMessages *pObj);
void ProcessFile(TD::updateFile *pObj);
void ProcessGroups(TD::updateChatFolders *pObj);
diff --git a/protocols/Telegram/src/server.cpp b/protocols/Telegram/src/server.cpp
index 403d2f390c..d33a605ba9 100644
--- a/protocols/Telegram/src/server.cpp
+++ b/protocols/Telegram/src/server.cpp
@@ -137,6 +137,10 @@ void CTelegramProto::ProcessResponse(td::ClientManager::Response response)
}
switch (response.object->get_id()) {
+ case TD::updateActiveEmojiReactions::ID:
+ ProcessActiveEmoji((TD::updateActiveEmojiReactions *)response.object.get());
+ break;
+
case TD::updateAuthorizationState::ID:
ProcessAuth((TD::updateAuthorizationState *)response.object.get());
break;
@@ -580,6 +584,16 @@ void CTelegramProto::ProcessConnectionState(TD::updateConnectionState *pObj)
}
}
+void CTelegramProto::ProcessActiveEmoji(TD::updateActiveEmojiReactions *pObj)
+{
+ m_defaultEmoji.Empty();
+
+ for (auto &it : pObj->emojis_)
+ m_defaultEmoji.AppendFormat("%s ", it.c_str());
+
+ m_defaultEmoji.TrimRight();
+}
+
void CTelegramProto::ProcessDeleteMessage(TD::updateDeleteMessages *pObj)
{
if (!pObj->is_permanent_)