using System.Collections.Concurrent; using Remora.Discord.API.Abstractions.Objects; using Remora.Rest.Core; namespace Catalogger.Backend.Cache.InMemoryCache; public class InMemoryInviteCache : IInviteCache { private readonly ConcurrentDictionary> _invites = new(); public Task> TryGetAsync(Snowflake guildId) => _invites.TryGetValue(guildId, out var invites) ? Task.FromResult(invites) : Task.FromResult>([]); public Task SetAsync(Snowflake guildId, IEnumerable invites) { _invites[guildId] = invites; return Task.CompletedTask; } }