| @@ -62,7 +62,7 @@ namespace Discord | |||||
| if (model.Channels != null) | if (model.Channels != null) | ||||
| { | { | ||||
| for (int i = 0; i < model.Channels.Length; i++) | for (int i = 0; i < model.Channels.Length; i++) | ||||
| AddCachedChannel(model.Channels[i], channels, dataStore); | |||||
| AddCachedChannel(model.Channels[i], channels); | |||||
| } | } | ||||
| _channels = channels; | _channels = channels; | ||||
| @@ -85,10 +85,9 @@ namespace Discord | |||||
| public override Task<IGuildChannel> GetChannel(ulong id) => Task.FromResult<IGuildChannel>(GetCachedChannel(id)); | public override Task<IGuildChannel> GetChannel(ulong id) => Task.FromResult<IGuildChannel>(GetCachedChannel(id)); | ||||
| public override Task<IReadOnlyCollection<IGuildChannel>> GetChannels() => Task.FromResult<IReadOnlyCollection<IGuildChannel>>(Channels); | public override Task<IReadOnlyCollection<IGuildChannel>> GetChannels() => Task.FromResult<IReadOnlyCollection<IGuildChannel>>(Channels); | ||||
| public ICachedGuildChannel AddCachedChannel(ChannelModel model, ConcurrentHashSet<ulong> channels = null, DataStore dataStore = null) | |||||
| public ICachedGuildChannel AddCachedChannel(ChannelModel model, ConcurrentHashSet<ulong> channels = null) | |||||
| { | { | ||||
| var channel = ToChannel(model); | var channel = ToChannel(model); | ||||
| (dataStore ?? Discord.DataStore).AddChannel(channel); | |||||
| (channels ?? _channels).TryAdd(model.Id); | (channels ?? _channels).TryAdd(model.Id); | ||||
| return channel; | return channel; | ||||
| } | } | ||||
| @@ -96,10 +95,9 @@ namespace Discord | |||||
| { | { | ||||
| return Discord.DataStore.GetChannel(id) as ICachedGuildChannel; | return Discord.DataStore.GetChannel(id) as ICachedGuildChannel; | ||||
| } | } | ||||
| public ICachedGuildChannel RemoveCachedChannel(ulong id, ConcurrentHashSet<ulong> channels = null, DataStore dataStore = null) | |||||
| public void RemoveCachedChannel(ulong id, ConcurrentHashSet<ulong> channels = null) | |||||
| { | { | ||||
| (channels ?? _channels).TryRemove(id); | (channels ?? _channels).TryRemove(id); | ||||
| return (dataStore ?? Discord.DataStore).RemoveChannel(id) as ICachedGuildChannel; | |||||
| } | } | ||||
| public Presence AddCachedPresence(PresenceModel model, ConcurrentDictionary<ulong, Presence> presences = null) | public Presence AddCachedPresence(PresenceModel model, ConcurrentDictionary<ulong, Presence> presences = null) | ||||