diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-10-13 23:52:56 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-10-13 23:52:56 -0400 |
commit | 00770e4bcbd8fdcefc80daf56a707c5ee4ae5bfd (patch) | |
tree | 646861e7ef33c082005f43fff92396a893f62e17 /discord | |
parent | 99597a80d2eb9752882791d458036c2c17969767 (diff) | |
download | abaddon-portaudio-00770e4bcbd8fdcefc80daf56a707c5ee4ae5bfd.tar.gz abaddon-portaudio-00770e4bcbd8fdcefc80daf56a707c5ee4ae5bfd.zip |
fix some PRESENCE_UPDATE bugs
Diffstat (limited to 'discord')
-rw-r--r-- | discord/discord.cpp | 3 | ||||
-rw-r--r-- | discord/objects.cpp | 2 | ||||
-rw-r--r-- | discord/objects.hpp | 2 |
3 files changed, 4 insertions, 3 deletions
diff --git a/discord/discord.cpp b/discord/discord.cpp index 298bb8a..ad4eb68 100644 --- a/discord/discord.cpp +++ b/discord/discord.cpp @@ -606,7 +606,8 @@ void DiscordClient::HandleGatewayGuildMemberUpdate(const GatewayMessage &msg) { 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); + if (cur != nullptr) + User::update_from_json(data.User, *cur); } void DiscordClient::HandleGatewayMessageUpdate(const GatewayMessage &msg) { diff --git a/discord/objects.cpp b/discord/objects.cpp index 0324ce3..1f6d109 100644 --- a/discord/objects.cpp +++ b/discord/objects.cpp @@ -150,7 +150,7 @@ void from_json(const nlohmann::json &j, ClientStatus &m) { void from_json(const nlohmann::json &j, PresenceUpdateMessage &m) { m.User = j.at("user"); - JS_D("guild_id", m.GuildID); + JS_O("guild_id", m.GuildID); JS_D("status", m.Status); // JS_D("activities", m.Activities); JS_D("client_status", m.ClientStatus); diff --git a/discord/objects.hpp b/discord/objects.hpp index 3b4491c..1e2cb27 100644 --- a/discord/objects.hpp +++ b/discord/objects.hpp @@ -213,7 +213,7 @@ struct ClientStatus { struct PresenceUpdateMessage { nlohmann::json User; // the client updates an existing object from this data - Snowflake GuildID; + Snowflake GuildID; // opt std::string Status; // std::vector<Activity> Activities; ClientStatus ClientStatus; |