From af80e09653422647feb40e103e3c32276d894dcb Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 2 Mar 2025 14:12:15 +0300 Subject: =?UTF-8?q?fixes=20#4893=20(Telegram:=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=8C=20=D0=BF=D0=BE=D0=BA=D0=B0=D0=B7=20?= =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D1=80=D0=B0=D1=81=D1=82=D0=B0=20=D0=B8=20?= =?UTF-8?q?=D0=B4=D0=B0=D1=82=D1=8B=20=D1=80=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/Telegram/src/proto.h | 1 + protocols/Telegram/src/server.cpp | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) (limited to 'protocols/Telegram/src') diff --git a/protocols/Telegram/src/proto.h b/protocols/Telegram/src/proto.h index 4125db0bb0..871ef9a790 100644 --- a/protocols/Telegram/src/proto.h +++ b/protocols/Telegram/src/proto.h @@ -285,6 +285,7 @@ class CTelegramProto : public PROTO void ProcessSuperGroup(TD::updateSupergroup *pObj); void ProcessSuperGroupInfo(TD::updateSupergroupFullInfo *pObj); void ProcessUser(TD::updateUser *pObj); + void ProcessUserInfo(TD::updateUserFullInfo *pObj); void UnregisterSession(); diff --git a/protocols/Telegram/src/server.cpp b/protocols/Telegram/src/server.cpp index 2f8f491d09..156af0c4ea 100644 --- a/protocols/Telegram/src/server.cpp +++ b/protocols/Telegram/src/server.cpp @@ -345,6 +345,10 @@ void CTelegramProto::ProcessResponse(td::ClientManager::Response response) case TD::updateUser::ID: ProcessUser((TD::updateUser *)response.object.get()); break; + + case TD::updateUserFullInfo::ID: + ProcessUserInfo((TD::updateUserFullInfo*)response.object.get()); + break; } } @@ -1220,6 +1224,8 @@ void CTelegramProto::ProcessStatus(TD::updateUserStatus *pObj) } } +///////////////////////////////////////////////////////////////////////////////////////// + void CTelegramProto::ProcessUser(TD::updateUser *pObj) { auto *pUser = pObj->user_.get(); @@ -1317,3 +1323,15 @@ void CTelegramProto::ProcessUser(TD::updateUser *pObj) } } } + +void CTelegramProto::ProcessUserInfo(TD::updateUserFullInfo *pObj) +{ + if (auto *pUser = FindUser(pObj->user_id_)) { + auto *pInfo = pObj->user_full_info_.get(); + if (auto *pBirthday = pInfo->birthdate_.get()) { + setWord(pUser->hContact, "BirthDay", pBirthday->day_); + setWord(pUser->hContact, "BirthMonth", pBirthday->month_); + setWord(pUser->hContact, "BirthYear", pBirthday->year_); + } + } +} -- cgit v1.2.3