summaryrefslogtreecommitdiff
path: root/src/discord/discord.cpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2022-05-19 03:13:02 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2022-05-19 03:13:02 -0400
commitffc69576f2832d705a1b1f8ef35d534029b5f1ca (patch)
tree9e66cab91f071f5071a5278e03ab4fb26c8180fc /src/discord/discord.cpp
parent2bed7f161b47c63370147318d0fa90b778667bc5 (diff)
downloadabaddon-portaudio-ffc69576f2832d705a1b1f8ef35d534029b5f1ca.tar.gz
abaddon-portaudio-ffc69576f2832d705a1b1f8ef35d534029b5f1ca.zip
fix role updates (fixes #69, fixes #70)
Diffstat (limited to 'src/discord/discord.cpp')
-rw-r--r--src/discord/discord.cpp14
1 files changed, 2 insertions, 12 deletions
diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp
index 317994c..d94f3df 100644
--- a/src/discord/discord.cpp
+++ b/src/discord/discord.cpp
@@ -1699,23 +1699,13 @@ void DiscordClient::HandleGatewayGuildRoleUpdate(const GatewayMessage &msg) {
void DiscordClient::HandleGatewayGuildRoleCreate(const GatewayMessage &msg) {
GuildRoleCreateObject data = msg.Data;
- auto guild = *m_store.GetGuild(data.GuildID);
- guild.Roles->push_back(data.Role);
- m_store.BeginTransaction();
- m_store.SetRole(guild.ID, data.Role);
- m_store.SetGuild(guild.ID, guild);
- m_store.EndTransaction();
+ m_store.SetRole(data.GuildID, data.Role);
m_signal_role_create.emit(data.GuildID, data.Role.ID);
}
void DiscordClient::HandleGatewayGuildRoleDelete(const GatewayMessage &msg) {
GuildRoleDeleteObject data = msg.Data;
- auto guild = *m_store.GetGuild(data.GuildID);
- const auto pred = [id = data.RoleID](const RoleData &role) -> bool {
- return role.ID == id;
- };
- guild.Roles->erase(std::remove_if(guild.Roles->begin(), guild.Roles->end(), pred), guild.Roles->end());
- m_store.SetGuild(guild.ID, guild);
+ m_store.ClearRole(data.RoleID);
m_signal_role_delete.emit(data.GuildID, data.RoleID);
}