2024-10-09 22:31:58 +02:00
|
|
|
using Remora.Discord.API.Abstractions.Gateway.Events;
|
2024-08-19 16:12:28 +02:00
|
|
|
using Remora.Discord.API.Abstractions.Objects;
|
|
|
|
|
using Remora.Rest.Core;
|
|
|
|
|
|
|
|
|
|
namespace Catalogger.Backend.Cache;
|
|
|
|
|
|
|
|
|
|
public interface IMemberCache
|
|
|
|
|
{
|
|
|
|
|
public Task<IGuildMember?> TryGetAsync(Snowflake guildId, Snowflake userId);
|
|
|
|
|
public Task SetAsync(Snowflake guildId, IGuildMember member);
|
|
|
|
|
public Task SetManyAsync(Snowflake guildId, IReadOnlyList<IGuildMember> members);
|
2024-09-02 17:00:33 +02:00
|
|
|
public Task RemoveAsync(Snowflake guildId, Snowflake userId);
|
2024-08-19 16:12:28 +02:00
|
|
|
public Task<bool> IsGuildCachedAsync(Snowflake guildId);
|
|
|
|
|
public Task MarkAsCachedAsync(Snowflake guildId);
|
|
|
|
|
public Task MarkAsUncachedAsync(Snowflake guildId);
|
2024-10-09 22:31:58 +02:00
|
|
|
public Task UpdateAsync(IGuildMemberUpdate newMember);
|
2024-10-09 17:35:11 +02:00
|
|
|
}
|