summaryrefslogtreecommitdiff
path: root/protocols/Discord/src/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Discord/src/utils.cpp')
-rw-r--r--protocols/Discord/src/utils.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/protocols/Discord/src/utils.cpp b/protocols/Discord/src/utils.cpp
index a3cf8f9f5d..bcc5c5225b 100644
--- a/protocols/Discord/src/utils.cpp
+++ b/protocols/Discord/src/utils.cpp
@@ -59,6 +59,14 @@ int SerialNext()
/////////////////////////////////////////////////////////////////////////////////////////
+CMStringW getName(const JSONNode &pNode)
+{
+ CMStringW wszNick = pNode["global_name"].as_mstring();
+ if (wszNick.IsEmpty())
+ wszNick = pNode["username"].as_mstring();
+ return wszNick;
+}
+
CMStringW getNick(const JSONNode &pNode)
{
CMStringW name = pNode["username"].as_mstring(), discriminator = pNode["discriminator"].as_mstring();
@@ -191,15 +199,13 @@ void CDiscordProto::PreparePrivateChannel(const JSONNode &root)
if (pUser->wszChannelName.IsEmpty()) {
int i = 0;
for (auto &it : root["recipients"]) {
- CMStringW wszNick = it["global_name"].as_mstring();
- if (wszNick.IsEmpty())
- wszNick = it["username"].as_mstring();
- if (wszNick.IsEmpty())
+ CMStringW wszName = getName(it);
+ if (wszName.IsEmpty())
continue;
if (!pUser->wszChannelName.IsEmpty())
pUser->wszChannelName += L", ";
- pUser->wszChannelName += wszNick;
+ pUser->wszChannelName += wszName;
if (i++ > 3)
break;