mirror of
https://github.com/celisej567/abaddon.git
synced 2026-09-27 16:16:35 +03:00
handle UPDATE in GUILD_MEMBER_LIST_UPDATE
This commit is contained in:
@@ -1303,7 +1303,7 @@ void DiscordClient::HandleGatewayGuildMemberListUpdate(const GatewayMessage &msg
|
||||
for (const auto &op : data.Ops) {
|
||||
if (op.Op == "SYNC") {
|
||||
has_sync = true;
|
||||
for (const auto &item : op.Items) {
|
||||
for (const auto &item : *op.Items) {
|
||||
if (item->Type == "member") {
|
||||
auto member = static_cast<const GuildMemberListUpdateMessage::MemberItem *>(item.get());
|
||||
m_store.SetUser(member->User.ID, member->User);
|
||||
@@ -1322,6 +1322,12 @@ void DiscordClient::HandleGatewayGuildMemberListUpdate(const GatewayMessage &msg
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (op.Op == "UPDATE") {
|
||||
if (op.OpItem.has_value() && op.OpItem.value()->Type == "member") {
|
||||
const auto &m = static_cast<const GuildMemberListUpdateMessage::MemberItem *>(op.OpItem.value().get())->GetAsMemberData();
|
||||
m_store.SetGuildMember(data.GuildID, m.User->ID, m);
|
||||
m_signal_guild_member_update.emit(data.GuildID, m.User->ID); // cheeky
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user