summaryrefslogtreecommitdiff
path: root/src/discord
diff options
context:
space:
mode:
Diffstat (limited to 'src/discord')
-rw-r--r--src/discord/discord.cpp8
-rw-r--r--src/discord/discord.hpp1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp
index dce5124..5b3cdb5 100644
--- a/src/discord/discord.cpp
+++ b/src/discord/discord.cpp
@@ -1202,6 +1202,14 @@ bool DiscordClient::GetUnreadStateForGuild(Snowflake id, int &total_mentions) co
return has_any_unread;
}
+int DiscordClient::GetUnreadDMsCount() const {
+ const auto channels = GetPrivateChannels();
+ int count = 0;
+ for (const auto channel_id : channels)
+ if (GetUnreadStateForChannel(channel_id) > -1) count++;
+ return count;
+}
+
PresenceStatus DiscordClient::GetUserStatus(Snowflake id) const {
auto it = m_user_to_status.find(id);
if (it != m_user_to_status.end())
diff --git a/src/discord/discord.hpp b/src/discord/discord.hpp
index 42c24fd..1a6aa14 100644
--- a/src/discord/discord.hpp
+++ b/src/discord/discord.hpp
@@ -194,6 +194,7 @@ public:
bool IsGuildMuted(Snowflake id) const noexcept;
int GetUnreadStateForChannel(Snowflake id) const noexcept;
bool GetUnreadStateForGuild(Snowflake id, int &total_mentions) const noexcept;
+ int GetUnreadDMsCount() const;
PresenceStatus GetUserStatus(Snowflake id) const;