summaryrefslogtreecommitdiff
path: root/discord/guild.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'discord/guild.cpp')
-rw-r--r--discord/guild.cpp7
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;
});