diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-08-29 01:14:07 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-08-29 01:14:07 -0400 |
commit | 299ecc71d980904ad7ffaf6d44254da71f948666 (patch) | |
tree | 26d0ccd90d1299ea87219b725082ed2c021f2ce0 /discord | |
parent | 4e7ae1af1d5c39591e8dbfe1742b42a4e578fff2 (diff) | |
download | abaddon-portaudio-299ecc71d980904ad7ffaf6d44254da71f948666.tar.gz abaddon-portaudio-299ecc71d980904ad7ffaf6d44254da71f948666.zip |
add MESSAGE_DELETE handling
Diffstat (limited to 'discord')
-rw-r--r-- | discord/discord.cpp | 8 | ||||
-rw-r--r-- | discord/discord.hpp | 1 | ||||
-rw-r--r-- | discord/objects.cpp | 6 | ||||
-rw-r--r-- | discord/objects.hpp | 1 |
4 files changed, 16 insertions, 0 deletions
diff --git a/discord/discord.cpp b/discord/discord.cpp index f78cce9..69d95e8 100644 --- a/discord/discord.cpp +++ b/discord/discord.cpp @@ -243,6 +243,9 @@ void DiscordClient::HandleGatewayMessage(std::string str) { case GatewayEvent::MESSAGE_CREATE: { HandleGatewayMessageCreate(m); } break; + case GatewayEvent::MESSAGE_DELETE: { + HandleGatewayMessageDelete(m); + } break; } } break; default: @@ -269,6 +272,10 @@ void DiscordClient::HandleGatewayMessageCreate(const GatewayMessage &msg) { StoreMessage(data.ID, data); m_abaddon->DiscordNotifyMessageCreate(data.ID); } +void DiscordClient::HandleGatewayMessageDelete(const GatewayMessage &msg) { + MessageDeleteData data = msg.Data; + m_abaddon->DiscordNotifyMessageDelete(data.ID, data.ChannelID); +} void DiscordClient::StoreGuild(Snowflake id, const GuildData &g) { assert(id.IsValid() && id == g.ID); @@ -315,4 +322,5 @@ void DiscordClient::SendIdentify() { void DiscordClient::LoadEventMap() { m_event_map["READY"] = GatewayEvent::READY; m_event_map["MESSAGE_CREATE"] = GatewayEvent::MESSAGE_CREATE; + m_event_map["MESSAGE_DELETE"] = GatewayEvent::MESSAGE_DELETE; } diff --git a/discord/discord.hpp b/discord/discord.hpp index 28805a1..7c6e942 100644 --- a/discord/discord.hpp +++ b/discord/discord.hpp @@ -85,6 +85,7 @@ private: void HandleGatewayMessage(std::string str); void HandleGatewayReady(const GatewayMessage &msg); void HandleGatewayMessageCreate(const GatewayMessage &msg); + void HandleGatewayMessageDelete(const GatewayMessage &msg); void HeartbeatThread(); void SendIdentify(); diff --git a/discord/objects.cpp b/discord/objects.cpp index 0d7614c..6858485 100644 --- a/discord/objects.cpp +++ b/discord/objects.cpp @@ -155,6 +155,12 @@ void from_json(const nlohmann::json &j, MessageData &m) { JS_O("flags", m.Flags); } +void from_json(const nlohmann::json &j, MessageDeleteData &m) { + JS_D("id", m.ID); + JS_D("channel_id", m.ChannelID); + JS_O("guild_id", m.GuildID); +} + void from_json(const nlohmann::json &j, ReadyEventData &m) { JS_D("v", m.GatewayVersion); JS_D("user", m.User); diff --git a/discord/objects.hpp b/discord/objects.hpp index 06beace..5abafb1 100644 --- a/discord/objects.hpp +++ b/discord/objects.hpp @@ -62,6 +62,7 @@ enum class GatewayOp : int { enum class GatewayEvent : int { READY, MESSAGE_CREATE, + MESSAGE_DELETE, }; struct GatewayMessage { |