diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-10-01 19:13:42 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-10-01 19:13:42 -0400 |
commit | dddcef117cffe732f0faa84ea6ce524d015d1792 (patch) | |
tree | 6cf1d85c39da4dece65501879992c0abd659c122 /discord/discord.cpp | |
parent | 9cb0eefa5666f1c19eb44d1b9167d21919a0af21 (diff) | |
download | abaddon-portaudio-dddcef117cffe732f0faa84ea6ce524d015d1792.tar.gz abaddon-portaudio-dddcef117cffe732f0faa84ea6ce524d015d1792.zip |
handle MESSAGE_DELETE_BULK
Diffstat (limited to 'discord/discord.cpp')
-rw-r--r-- | discord/discord.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/discord/discord.cpp b/discord/discord.cpp index abbbbad..2ceb308 100644 --- a/discord/discord.cpp +++ b/discord/discord.cpp @@ -455,6 +455,9 @@ void DiscordClient::HandleGatewayMessage(std::string str) { case GatewayEvent::GUILD_DELETE: { HandleGatewayGuildDelete(m); } break; + case GatewayEvent::MESSAGE_DELETE_BULK: { + HandleGatewayMessageDeleteBulk(m); + } break; } } break; default: @@ -511,10 +514,19 @@ void DiscordClient::HandleGatewayMessageCreate(const GatewayMessage &msg) { void DiscordClient::HandleGatewayMessageDelete(const GatewayMessage &msg) { MessageDeleteData data = msg.Data; - m_signal_message_delete.emit(data.ID, data.ChannelID); auto *cur = m_store.GetMessage(data.ID); if (cur != nullptr) cur->SetDeleted(); + m_signal_message_delete.emit(data.ID, data.ChannelID); +} + +void DiscordClient::HandleGatewayMessageDeleteBulk(const GatewayMessage &msg) { + MessageDeleteBulkData data = msg.Data; + for (const auto &id : data.IDs) { + auto *cur = m_store.GetMessage(id); + cur->SetDeleted(); + m_signal_message_delete.emit(id, data.ChannelID); + } } void DiscordClient::HandleGatewayMessageUpdate(const GatewayMessage &msg) { @@ -639,6 +651,7 @@ void DiscordClient::LoadEventMap() { m_event_map["GUILD_MEMBER_LIST_UPDATE"] = GatewayEvent::GUILD_MEMBER_LIST_UPDATE; m_event_map["GUILD_CREATE"] = GatewayEvent::GUILD_CREATE; m_event_map["GUILD_DELETE"] = GatewayEvent::GUILD_DELETE; + m_event_map["MESSAGE_DELETE_BULK"] = GatewayEvent::MESSAGE_DELETE_BULK; } DiscordClient::type_signal_gateway_ready DiscordClient::signal_gateway_ready() { |