PluralKit/Myriad/Cache/IDiscordCache.cs

34 lines
1.3 KiB
C#
Raw Normal View History

2021-08-27 15:03:47 +00:00
using System.Collections.Generic;
2020-12-22 12:15:26 +00:00
using System.Threading.Tasks;
using Myriad.Types;
namespace Myriad.Cache
{
public interface IDiscordCache
{
public ValueTask SaveOwnUser(ulong userId);
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);
2020-12-22 12:15:26 +00:00
public ValueTask SaveRole(ulong guildId, Role role);
2021-03-18 10:28:11 +00:00
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);
public Task<ulong> GetOwnUser();
public Task<Guild?> TryGetGuild(ulong guildId);
public Task<Channel?> TryGetChannel(ulong channelId);
public Task<Channel?> TryGetDmChannel(ulong userId);
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
}
}