diff options
Diffstat (limited to 'discord/guild.cpp')
-rw-r--r-- | discord/guild.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/discord/guild.cpp b/discord/guild.cpp index 1c79a38..16fc3d3 100644 --- a/discord/guild.cpp +++ b/discord/guild.cpp @@ -191,8 +191,11 @@ std::vector<Snowflake> GuildData::GetSortedChannels(Snowflake ignore) const { std::vector<RoleData> GuildData::FetchRoles() const { if (!Roles.has_value()) return {}; std::vector<RoleData> ret; - for (const auto thing : *Roles) - ret.push_back(*Abaddon::Get().GetDiscordClient().GetRole(thing.ID)); + for (const auto thing : *Roles) { + auto r = Abaddon::Get().GetDiscordClient().GetRole(thing.ID); + if (r.has_value()) + ret.push_back(*r); + } std::sort(ret.begin(), ret.end(), [](const RoleData &a, const RoleData &b) -> bool { return a.Position > b.Position; }); |