From 016f5b27df751bc8a605aeb9c97c844892458eeb Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 26 Dec 2022 19:12:00 +0300 Subject: =?UTF-8?q?fixes=20#3285=20(Telegram:=20=D0=BD=D0=B5=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B7=D0=B4=D0=B0=D1=91=D1=82=D1=81=D1=8F=20=D0=B3=D1=80?= =?UTF-8?q?=D1=83=D0=BF=D0=BF=D0=B0)=20+=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=20=D0=BF=D0=B0=D0=BF=D0=BE=D0=BA=20=D0=B2=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B4=D0=B3=D1=80=D1=83=D0=BF=D0=BF=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/Telegram/src/mt_proto.cpp | 5 +++++ protocols/Telegram/src/mt_proto.h | 1 + protocols/Telegram/src/server.cpp | 9 +++++---- 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'protocols/Telegram/src') diff --git a/protocols/Telegram/src/mt_proto.cpp b/protocols/Telegram/src/mt_proto.cpp index 998e84c733..eeed67745c 100644 --- a/protocols/Telegram/src/mt_proto.cpp +++ b/protocols/Telegram/src/mt_proto.cpp @@ -34,6 +34,11 @@ CMTProto::CMTProto(const char* protoName, const wchar_t* userName) : HookProtoEvent(ME_OPT_INITIALISE, &CMTProto::OnOptionsInit); + // default contacts group + if (m_wszDefaultGroup == NULL) + m_wszDefaultGroup = mir_wstrdup(L"WhatsApp"); + m_iBaseGroup = Clist_GroupCreate(0, m_wszDefaultGroup); + // Create standard network connection NETLIBUSER nlu = {}; nlu.flags = NUF_UNICODE; diff --git a/protocols/Telegram/src/mt_proto.h b/protocols/Telegram/src/mt_proto.h index 22b4fd2654..75f6869ad5 100644 --- a/protocols/Telegram/src/mt_proto.h +++ b/protocols/Telegram/src/mt_proto.h @@ -128,6 +128,7 @@ class CMTProto : public PROTO // Users int64_t m_iOwnId; + MGROUP m_iBaseGroup; OBJLIST m_arUsers; TG_USER* FindUser(uint64_t id); diff --git a/protocols/Telegram/src/server.cpp b/protocols/Telegram/src/server.cpp index 50c6aa7084..9c1cf79d45 100644 --- a/protocols/Telegram/src/server.cpp +++ b/protocols/Telegram/src/server.cpp @@ -201,15 +201,16 @@ void CMTProto::ProcessGroups(TD::updateChatFilters *pObj) CMStringW wszOldValue(getMStringW(szSetting)); Utf2T wszNewValue(grp->title_.c_str()); if (wszOldValue.IsEmpty()) { - Clist_GroupCreate(0, wszNewValue); + Clist_GroupCreate(m_iBaseGroup, wszNewValue); setWString(szSetting, wszNewValue); } else if (wszOldValue != wszNewValue) { - MGROUP oldGroup = Clist_GroupExists(wszNewValue); + CMStringW wszFullGroup(FORMAT, L"%s\\%s", (wchar_t*)m_wszDefaultGroup, wszNewValue); + MGROUP oldGroup = Clist_GroupExists(wszFullGroup); if (!oldGroup) - Clist_GroupCreate(0, wszNewValue); + Clist_GroupCreate(m_iBaseGroup, wszFullGroup); else - Clist_GroupRename(oldGroup, wszNewValue); + Clist_GroupRename(oldGroup, wszFullGroup); setWString(szSetting, wszNewValue); } } -- cgit v1.2.3