summaryrefslogtreecommitdiff
path: root/src/discord/discord.cpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2023-05-22 20:46:17 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2023-05-22 20:46:17 -0400
commit62f3cf373dd21029a2533f6bbb333e886fb2aef3 (patch)
tree1ad8efb22d9167483756839b215b7550ae761b93 /src/discord/discord.cpp
parent2c459728620eee4b15323320995f5f6fc0ae924a (diff)
parent8e9fb27e0bec4c9dd4b706e15987cbb16cf42005 (diff)
downloadabaddon-portaudio-62f3cf373dd21029a2533f6bbb333e886fb2aef3.tar.gz
abaddon-portaudio-62f3cf373dd21029a2533f6bbb333e886fb2aef3.zip
Merge branch 'master' into voice
Diffstat (limited to 'src/discord/discord.cpp')
-rw-r--r--src/discord/discord.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp
index 37d4f28..6a530cb 100644
--- a/src/discord/discord.cpp
+++ b/src/discord/discord.cpp
@@ -1890,21 +1890,31 @@ void DiscordClient::HandleGatewayGuildRoleDelete(const GatewayMessage &msg) {
void DiscordClient::HandleGatewayMessageReactionAdd(const GatewayMessage &msg) {
MessageReactionAddObject data = msg.Data;
+ if (data.Emoji.ID.IsValid() && !m_store.GetEmoji(data.Emoji.ID).has_value()) {
+ m_store.SetEmoji(data.Emoji.ID, data.Emoji);
+ }
+
m_store.AddReaction(data, data.UserID == GetUserData().ID);
- if (data.Emoji.ID.IsValid())
+ if (data.Emoji.ID.IsValid()) {
m_signal_reaction_add.emit(data.MessageID, std::to_string(data.Emoji.ID));
- else
+ } else {
m_signal_reaction_add.emit(data.MessageID, data.Emoji.Name);
+ }
}
void DiscordClient::HandleGatewayMessageReactionRemove(const GatewayMessage &msg) {
MessageReactionRemoveObject data = msg.Data;
+ if (data.Emoji.ID.IsValid() && !m_store.GetEmoji(data.Emoji.ID).has_value()) {
+ m_store.SetEmoji(data.Emoji.ID, data.Emoji);
+ }
+
m_store.RemoveReaction(data, data.UserID == GetUserData().ID);
- if (data.Emoji.ID.IsValid())
+ if (data.Emoji.ID.IsValid()) {
m_signal_reaction_remove.emit(data.MessageID, std::to_string(data.Emoji.ID));
- else
+ } else {
m_signal_reaction_remove.emit(data.MessageID, data.Emoji.Name);
+ }
}
// todo: update channel list item and member list