update channel cache on channel events

This commit is contained in:
Skillz
2020-05-17 08:11:51 -04:00
parent b7523e1cd5
commit ec63129f3d

View File

@@ -6,6 +6,12 @@ import { eventHandlers } from "../module/client.ts";
export const handleInternalChannelCreate = (data: ChannelCreatePayload) => {
const channel = createChannel(data);
cache.channels.set(channel.id, channel);
if (channel.guild_id) {
const guild = cache.guilds.get(channel.guild_id);
if (guild) {
guild.channels.set(channel.id, channel);
}
}
eventHandlers.channelCreate?.(channel);
};
@@ -15,6 +21,13 @@ export const handleInternalChannelUpdate = (data: ChannelCreatePayload) => {
cache.channels.set(channel.id, channel);
if (!cachedChannel) return;
if (channel.guild_id) {
const guild = cache.guilds.get(channel.guild_id)
if (guild) {
guild.channels.set(channel.id, channel)
}
}
eventHandlers.channel_update?.(channel, cachedChannel);
};
@@ -42,6 +55,8 @@ export const handleInternalChannelDelete = (data: ChannelCreatePayload) => {
],
});
}
guild?.channels.delete(data.id)
}
cache.channels.delete(data.id);