From 11358da24e0e73044aed389b1dbbf479808ca036 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Sun, 28 Feb 2021 01:44:31 -0500 Subject: handle UPDATE in GUILD_MEMBER_LIST_UPDATE --- discord/objects.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'discord/objects.cpp') diff --git a/discord/objects.cpp b/discord/objects.cpp index 16ae320..af82759 100644 --- a/discord/objects.cpp +++ b/discord/objects.cpp @@ -51,13 +51,19 @@ void from_json(const nlohmann::json &j, GuildMemberListUpdateMessage::MemberItem void from_json(const nlohmann::json &j, GuildMemberListUpdateMessage::OpObject &m) { JS_D("op", m.Op); if (m.Op == "SYNC") { + m.Items.emplace(); JS_D("range", m.Range); for (const auto &ij : j.at("items")) { if (ij.contains("group")) - m.Items.push_back(std::make_unique(ij.at("group"))); + m.Items->push_back(std::make_unique(ij.at("group"))); else if (ij.contains("member")) - m.Items.push_back(std::make_unique(ij.at("member"))); + m.Items->push_back(std::make_unique(ij.at("member"))); } + } else if (m.Op == "UPDATE") { + JS_D("index", m.Index); + const auto &ij = j.at("item"); + if (ij.contains("member")) + m.OpItem = std::make_unique(ij.at("member")); } } -- cgit v1.2.3