diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2022-01-20 01:34:36 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2022-01-20 01:34:36 -0500 |
commit | dfd642bb82d2998cc563f0f401f2d522632692c1 (patch) | |
tree | f17f49dbe7d6faf5ea1687206efee6b1a47d8b55 /src/discord/discord.cpp | |
parent | 6c9bf4ff81a588ba8c4fb1713217d699eba057c4 (diff) | |
download | abaddon-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.cpp | 6 |
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; |