PluralKit/Myriad/Cache/IDiscordCache.cs

28 lines
1.0 KiB
C#
Raw Normal View History

2020-12-22 12:15:26 +00:00
using Myriad.Types;
namespace Myriad.Cache;
public interface IDiscordCache
2020-12-22 12:15:26 +00:00
{
public ValueTask SaveGuild(Guild guild);
public ValueTask SaveChannel(Channel channel);
public ValueTask SaveUser(User user);
public ValueTask SaveSelfMember(ulong guildId, GuildMemberPartial member);
public ValueTask SaveRole(ulong guildId, Role role);
public ValueTask SaveDmChannelStub(ulong channelId);
2020-12-22 12:15:26 +00:00
public ValueTask RemoveGuild(ulong guildId);
public ValueTask RemoveChannel(ulong channelId);
public ValueTask RemoveUser(ulong userId);
public ValueTask RemoveRole(ulong guildId, ulong roleId);
2020-12-22 12:15:26 +00:00
internal ulong GetOwnUser();
public Task<Guild?> TryGetGuild(ulong guildId);
public Task<Channel?> TryGetChannel(ulong channelId);
public Task<User?> TryGetUser(ulong userId);
public Task<GuildMemberPartial?> TryGetSelfMember(ulong guildId);
public Task<Role?> TryGetRole(ulong roleId);
2020-12-22 12:15:26 +00:00
public IAsyncEnumerable<Guild> GetAllGuilds();
public Task<IEnumerable<Channel>> GetGuildChannels(ulong guildId);
2020-12-22 12:15:26 +00:00
}