summaryrefslogtreecommitdiff
path: root/src/discord/discord.cpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2022-01-20 01:34:36 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2022-01-20 01:34:36 -0500
commitdfd642bb82d2998cc563f0f401f2d522632692c1 (patch)
treef17f49dbe7d6faf5ea1687206efee6b1a47d8b55 /src/discord/discord.cpp
parent6c9bf4ff81a588ba8c4fb1713217d699eba057c4 (diff)
downloadabaddon-portaudio-dfd642bb82d2998cc563f0f401f2d522632692c1.tar.gz
abaddon-portaudio-dfd642bb82d2998cc563f0f401f2d522632692c1.zip
show unread indicators for threads
Diffstat (limited to 'src/discord/discord.cpp')
-rw-r--r--src/discord/discord.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp
index 5b3cdb5..ff269df 100644
--- a/src/discord/discord.cpp
+++ b/src/discord/discord.cpp
@@ -2343,10 +2343,14 @@ void DiscordClient::StoreMessageData(Message &msg) {
// here the absence of an entry in m_unread indicates a read channel and the value is only the mention count since the message doesnt matter
// no entry.id cannot be a guild even though sometimes it looks like it
void DiscordClient::HandleReadyReadState(const ReadyEventData &data) {
- for (const auto &guild : data.Guilds)
+ for (const auto &guild : data.Guilds) {
for (const auto &channel : *guild.Channels)
if (channel.LastMessageID.has_value())
m_last_message_id[channel.ID] = *channel.LastMessageID;
+ for (const auto &thread : *guild.Threads)
+ if (thread.LastMessageID.has_value())
+ m_last_message_id[thread.ID] = *thread.LastMessageID;
+ }
for (const auto &channel : data.PrivateChannels)
if (channel.LastMessageID.has_value())
m_last_message_id[channel.ID] = *channel.LastMessageID;