diff options
| -rw-r--r-- | src/ext/cache/mod.rs | 6 |
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) } |