aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ext/cache/mod.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ext/cache/mod.rs b/src/ext/cache/mod.rs
index 923c55a..d07f7a6 100644
--- a/src/ext/cache/mod.rs
+++ b/src/ext/cache/mod.rs
@@ -722,12 +722,18 @@ impl Cache {
#[doc(hidden)]
pub fn update_with_guild_create(&mut self, event: &GuildCreateEvent) {
+ self.unavailable_guilds.retain(|guild_id| *guild_id != event.guild.id);
+
self.guilds.insert(event.guild.id, event.guild.clone());
}
#[doc(hidden)]
pub fn update_with_guild_delete(&mut self, event: &GuildDeleteEvent)
-> Option<Guild> {
+ if !self.unavailable_guilds.contains(&event.guild.id) {
+ self.unavailable_guilds.push(event.guild.id);
+ }
+
self.guilds.remove(&event.guild.id)
}