From ec63129f3d3a680f6afa2277b615e7eb714345b3 Mon Sep 17 00:00:00 2001 From: Skillz Date: Sun, 17 May 2020 08:11:51 -0400 Subject: [PATCH] update channel cache on channel events --- events/channels.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/events/channels.ts b/events/channels.ts index c2b73f56d..03d2675ca 100644 --- a/events/channels.ts +++ b/events/channels.ts @@ -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);