dont crash on unavailable guild
This commit is contained in:
@@ -255,6 +255,9 @@ void DiscordClient::HandleGatewayReady(const GatewayMessage &msg) {
|
|||||||
m_ready_received = true;
|
m_ready_received = true;
|
||||||
ReadyEventData data = msg.Data;
|
ReadyEventData data = msg.Data;
|
||||||
for (const auto &g : data.Guilds) {
|
for (const auto &g : data.Guilds) {
|
||||||
|
if (g.IsUnavailable)
|
||||||
|
printf("guild (%lld) unavailable\n", g.ID);
|
||||||
|
else
|
||||||
StoreGuild(g.ID, g);
|
StoreGuild(g.ID, g);
|
||||||
}
|
}
|
||||||
m_abaddon->DiscordNotifyReady();
|
m_abaddon->DiscordNotifyReady();
|
||||||
@@ -368,6 +371,11 @@ void from_json(const nlohmann::json &j, UserData &m) {
|
|||||||
|
|
||||||
void from_json(const nlohmann::json &j, GuildData &m) {
|
void from_json(const nlohmann::json &j, GuildData &m) {
|
||||||
JS_D("id", m.ID);
|
JS_D("id", m.ID);
|
||||||
|
if (j.contains("unavailable")) {
|
||||||
|
m.IsUnavailable = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
JS_D("name", m.Name);
|
JS_D("name", m.Name);
|
||||||
JS_N("icon", m.Icon);
|
JS_N("icon", m.Icon);
|
||||||
JS_N("splash", m.Splash);
|
JS_N("splash", m.Splash);
|
||||||
|
Reference in New Issue
Block a user