From c21e6b480eea5cca423d2b98475189f3349598db Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 25 Jan 2020 20:11:06 +0300 Subject: Facebook: create a fake name for unnamed group chats --- protocols/Facebook/src/server.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'protocols/Facebook') diff --git a/protocols/Facebook/src/server.cpp b/protocols/Facebook/src/server.cpp index 2e21d01bf1..704e21e44f 100644 --- a/protocols/Facebook/src/server.cpp +++ b/protocols/Facebook/src/server.cpp @@ -177,6 +177,23 @@ void FacebookProto::RefreshThreads() CMStringW chatId(n["thread_key"]["thread_fbid"].as_mstring()); CMStringW name(n["name"].as_mstring()); + if (name.IsEmpty()) { + for (auto &u : n["all_participants"]["nodes"]) { + auto &ur = u["messaging_actor"]; + CMStringW userId(ur["id"].as_mstring()); + if (_wtoi64(userId) == m_uid) + continue; + + if (!name.IsEmpty()) + name.Append(L", "); + name += ur["name"].as_mstring(); + } + + if (name.GetLength() > 128) { + name.Truncate(125); + name.Append(L"..."); + } + } auto *si = Chat_NewSession(GCW_CHATROOM, m_szModuleName, chatId, name); if (si == nullptr) -- cgit v1.2.3