diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-10-13 02:35:02 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-10-13 02:35:02 -0400 |
commit | 99597a80d2eb9752882791d458036c2c17969767 (patch) | |
tree | 653aafc326b79875c9117b29b8c4ca5407b3023e /discord/discord.cpp | |
parent | c17842c16f10f55f2f0923e94033a482ef98838e (diff) | |
download | abaddon-portaudio-99597a80d2eb9752882791d458036c2c17969767.tar.gz abaddon-portaudio-99597a80d2eb9752882791d458036c2c17969767.zip |
add PRESENCE_UPDATE handling (for user object only)
Diffstat (limited to 'discord/discord.cpp')
-rw-r--r-- | discord/discord.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/discord/discord.cpp b/discord/discord.cpp index 73b03a3..298bb8a 100644 --- a/discord/discord.cpp +++ b/discord/discord.cpp @@ -519,6 +519,9 @@ void DiscordClient::HandleGatewayMessage(std::string str) { case GatewayEvent::GUILD_MEMBER_UPDATE: { HandleGatewayGuildMemberUpdate(m); } break; + case GatewayEvent::PRESENCE_UPDATE: { + HandleGatewayPresenceUpdate(m); + } break; } } break; default: @@ -600,6 +603,12 @@ void DiscordClient::HandleGatewayGuildMemberUpdate(const GatewayMessage &msg) { m_store.SetGuildMemberData(data.GuildID, data.User.ID, member); } +void DiscordClient::HandleGatewayPresenceUpdate(const GatewayMessage &msg) { + PresenceUpdateMessage data = msg.Data; + auto cur = m_store.GetUser(data.User.at("id").get<Snowflake>()); + User::update_from_json(data.User, *cur); +} + void DiscordClient::HandleGatewayMessageUpdate(const GatewayMessage &msg) { Snowflake id = msg.Data.at("id"); @@ -728,6 +737,7 @@ void DiscordClient::LoadEventMap() { m_event_map["GUILD_DELETE"] = GatewayEvent::GUILD_DELETE; m_event_map["MESSAGE_DELETE_BULK"] = GatewayEvent::MESSAGE_DELETE_BULK; m_event_map["GUILD_MEMBER_UPDATE"] = GatewayEvent::GUILD_MEMBER_UPDATE; + m_event_map["PRESENCE_UPDATE"] = GatewayEvent::PRESENCE_UPDATE; } DiscordClient::type_signal_gateway_ready DiscordClient::signal_gateway_ready() { |