discord/Discord/Managers/ChannelManager.cs
2024-06-09 18:51:48 +12:00

26 lines
734 B
C#

namespace Discord.Managers
{
public class ChannelManager : Manager<string, Channel>
{
public ChannelManager(Client client) : base(client) { }
public async Task<Channel?> Fetch(string id)
{
Channel? channel = await Client.Rest.Get<Channel>(REST.Routes.Channel(id));
if(channel != null)
{
channel.Client = Client;
channel.Messages = new MessageManager(Client, channel);
Cache[id] = channel;
}
return channel;
}
public async Task<Channel?> Get(string id)
{
if (Cache.ContainsKey(id)) return Cache[id];
return await Fetch(id);
}
}
}