fix(ChannelUpdate): Check against unknown channels
This commit is contained in:
		| @@ -7,14 +7,23 @@ const { ChannelTypes } = require('../../util/Constants'); | ||||
| class ChannelUpdateAction extends Action { | ||||
|   handle(data) { | ||||
|     const client = this.client; | ||||
|  | ||||
|     let channel = client.channels.cache.get(data.id); | ||||
|  | ||||
|     if (channel) { | ||||
|       const old = channel._update(data); | ||||
|  | ||||
|       if (ChannelTypes[channel.type] !== data.type) { | ||||
|         const newChannel = Channel.create(this.client, data, channel.guild); | ||||
|         for (const [id, message] of channel.messages.cache) newChannel.messages.cache.set(id, message); | ||||
|  | ||||
|         if (!newChannel) { | ||||
|           this.client.channels.cache.delete(channel.id); | ||||
|           return {}; | ||||
|         } | ||||
|  | ||||
|         if (channel.isText() && newChannel.isText()) { | ||||
|           for (const [id, message] of channel.messages.cache) newChannel.messages.cache.set(id, message); | ||||
|         } | ||||
|  | ||||
|         channel = newChannel; | ||||
|         this.client.channels.cache.set(channel.id, channel); | ||||
|       } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user