summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2024-01-14 21:47:28 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2024-01-14 21:47:28 -0500
commite9521ce7801eb2cb3b573bc85c2daeaab1003d26 (patch)
tree8199cb63cf148152842aafb997d6b91bfd2af828 /src
parentaf69c3d9f692fc0a975ff82540bc3c0e3b72bc5b (diff)
parenteb09a5b2211ebfb37aff218250bc7e4aaffee5d0 (diff)
downloadabaddon-portaudio-e9521ce7801eb2cb3b573bc85c2daeaab1003d26.tar.gz
abaddon-portaudio-e9521ce7801eb2cb3b573bc85c2daeaab1003d26.zip
Merge branch 'master' into classic-channels
Diffstat (limited to 'src')
-rw-r--r--src/discord/discord.cpp27
1 files changed, 18 insertions, 9 deletions
diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp
index 607fce3..b69daea 100644
--- a/src/discord/discord.cpp
+++ b/src/discord/discord.cpp
@@ -2802,17 +2802,26 @@ void DiscordClient::StoreMessageData(Message &msg) {
// 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 &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;
+ if (guild.Channels.has_value()) {
+ for (const auto &channel : *guild.Channels) {
+ if (channel.LastMessageID.has_value()) {
+ m_last_message_id[channel.ID] = *channel.LastMessageID;
+ }
+ }
+ }
+ if (guild.Threads.has_value()) {
+ 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())
+ for (const auto &channel : data.PrivateChannels) {
+ if (channel.LastMessageID.has_value()) {
m_last_message_id[channel.ID] = *channel.LastMessageID;
-
+ }
+ }
for (const auto &entry : data.ReadState.Entries) {
const auto it = m_last_message_id.find(entry.ID);
if (it == m_last_message_id.end()) continue;