diff --git a/packages/client/src/gateway/Shard.ts b/packages/client/src/gateway/Shard.ts index 07194be24..5a427a5d3 100644 --- a/packages/client/src/gateway/Shard.ts +++ b/packages/client/src/gateway/Shard.ts @@ -608,7 +608,12 @@ export class Shard extends EventEmitter { this.emit('messageUpdate', packet, null) break } - this.emit('messageUpdate', channel.messages.update(new Message(packet, this.client)), oldMessage) + + const msg = message ?? new Message(packet, this.client) + if (message) message.update(packet) + else channel.messages.set(msg.id, msg) + + this.emit('messageUpdate', msg, oldMessage) break } case 'MESSAGE_DELETE': {