feat(api): also clear cache when leaving a guild

This commit is contained in:
sam 2024-10-24 21:10:54 +02:00
parent 5c57b75335
commit 439051999f
Signed by: sam
GPG key ID: 5F3C3C1B3166639D
10 changed files with 53 additions and 0 deletions

View file

@ -145,4 +145,13 @@ public class InMemoryMemberCache(IDiscordRestGuildAPI guildApi, ILogger logger)
) => Task.FromResult<IEnumerable<(string, string)>>([]);
public Task TryRemoveMemberNameAsync(Snowflake guildId, string username) => Task.CompletedTask;
public Task RemoveAllMembersAsync(Snowflake guildId)
{
foreach (var kv in _members.Where(kv => kv.Key.GuildId == guildId))
_members.Remove(kv.Key, out _);
_guilds.Remove(guildId, out _);
return Task.CompletedTask;
}
}