forked from OpenGamers/abaddon
handle GUILD_UPDATE
This commit is contained in:
@@ -522,6 +522,9 @@ void DiscordClient::HandleGatewayMessage(std::string str) {
|
||||
case GatewayEvent::CHANNEL_CREATE: {
|
||||
HandleGatewayChannelCreate(m);
|
||||
} break;
|
||||
case GatewayEvent::GUILD_UPDATE: {
|
||||
HandleGatewayGuildUpdate(m);
|
||||
} break;
|
||||
}
|
||||
} break;
|
||||
default:
|
||||
@@ -639,6 +642,14 @@ void DiscordClient::HandleGatewayChannelCreate(const GatewayMessage &msg) {
|
||||
m_signal_channel_create.emit(data.ID);
|
||||
}
|
||||
|
||||
void DiscordClient::HandleGatewayGuildUpdate(const GatewayMessage &msg) {
|
||||
Snowflake id = msg.Data.at("id");
|
||||
auto *current = m_store.GetGuild(id);
|
||||
if (current == nullptr) return;
|
||||
current->update_from_json(msg.Data);
|
||||
m_signal_guild_update.emit(id);
|
||||
}
|
||||
|
||||
void DiscordClient::HandleGatewayMessageUpdate(const GatewayMessage &msg) {
|
||||
Snowflake id = msg.Data.at("id");
|
||||
|
||||
@@ -771,6 +782,7 @@ void DiscordClient::LoadEventMap() {
|
||||
m_event_map["CHANNEL_DELETE"] = GatewayEvent::CHANNEL_DELETE;
|
||||
m_event_map["CHANNEL_UPDATE"] = GatewayEvent::CHANNEL_UPDATE;
|
||||
m_event_map["CHANNEL_CREATE"] = GatewayEvent::CHANNEL_CREATE;
|
||||
m_event_map["GUILD_UPDATE"] = GatewayEvent::GUILD_UPDATE;
|
||||
}
|
||||
|
||||
DiscordClient::type_signal_gateway_ready DiscordClient::signal_gateway_ready() {
|
||||
@@ -816,3 +828,7 @@ DiscordClient::type_signal_channel_update DiscordClient::signal_channel_update()
|
||||
DiscordClient::type_signal_channel_create DiscordClient::signal_channel_create() {
|
||||
return m_signal_channel_create;
|
||||
}
|
||||
|
||||
DiscordClient::type_signal_guild_update DiscordClient::signal_guild_update() {
|
||||
return m_signal_guild_update;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user