26 lines
734 B
C#
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);
|
|
}
|
|
}
|
|
}
|