Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

311
Visualizações
los eventos `messageUpdate` y `messageDelete` no "funcionan" después de reiniciar el bot

Bueno, los eventos messageUpdate y messageDelete no "funcionan" después de reiniciar el bot

Es decir, no responden a los mensajes que se enviaron antes del reinicio.

Agregué MENSAJE a parciales

Ahora los eventos funcionan, pero hay un problema con el retorno if (message.author.bot) return if (newMessage.author.bot) return si (mensaje.autor.bot) y, en general, con message|newMessage.author|member etc.

Aquí están los errores:

 TypeError: Cannot read properties of null (reading 'bot') at module.exports.run (C:\Users\ALL\Desktop\Slodziak\Slodziak13vCanary\events\messageDelete.js:14:28) at Slodziak.<anonymous> (C:\Users\ALL\Desktop\Slodziak\Slodziak13vCanary\aslodziak.js:40:43) at Slodziak.emit (node:events:527:28) at Slodziak.emit (node:domain:475:12) at MessageDeleteAction.handle (C:\Users\ALL\Desktop\Slodziak\Slodziak13vCanary\node_modules\discord.js\src\client\actions\MessageDelete.js:24:16) at Object.module.exports [as MESSAGE_DELETE] (C:\Users\ALL\Desktop\Slodziak\Slodziak13vCanary\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_DELETE.js:4:32) at WebSocketManager.handlePacket (C:\Users\ALL\Desktop\Slodziak\Slodziak13vCanary\node_modules\discord.js\src\client\websocket\WebSocketManager.js:346:31) at WebSocketShard.onPacket (C:\Users\ALL\Desktop\Slodziak\Slodziak13vCanary\node_modules\discord.js\src\client\websocket\WebSocketShard.js:478:22) at WebSocketShard.onMessage (C:\Users\ALL\Desktop\Slodziak\Slodziak13vCanary\node_modules\discord.js\src\client\websocket\WebSocketShard.js:317:10) at WebSocket.onMessage (C:\Users\ALL\Desktop\Slodziak\Slodziak13vCanary\node_modules\ws\lib\event-target.js:199:18)

¿Alguien puede ayudar? Necesito estos MENSAJES parciales para actualizar el mensaje porque el bot no respondió a los mensajes que se enviaron después del reinicio. Más concretamente al automod, es decir, que borre las invitaciones si alguien ha editado el mensaje y no tiene permisos.

messageUpdate

 module.exports = class { constructor(client) { this.client = client; } async run(oldMessage, newMessage) { const data = {}; const client = this.client; data.config = client.config; if (newMessage.author.bot) return; if (!newMessage.editedAt) return; code that deleted invites if member has not permissions } };

messageDelete

 module.exports = class { constructor(client) { this.client = client; } async run(message) { const data = {}; const client = this.client; data.config = client.config; if (message.author.bot) return; Code that snipes deleted message } }
about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

El error significa que newMessage.author es null . Ya sabía que necesitaría usar los parciales de MESSAGE .

El problema es que no verifica si el mensaje recibido es solo parcial.

Un mensaje parcial no contendrá todos los parámetros del Message original. El id , el channelId y el guildId estarán presentes, pero otros, como author , pueden ser null .

Para resolver esto, deberá verificar si su mensaje es solo parcial, y si lo es, puede fetch y usarlo como de costumbre:

 module.exports = class { constructor(client) { this.client = client; } async run(oldMessage, newMessage) { const data = {}; const client = this.client; data.config = client.config; if (oldMessage.partial) oldMessage = await oldMessage.fetch(); if (newMessage.partial) newMessage = await newMessage.fetch(); if (newMessage.author.bot) return; if (!newMessage.editedAt) return; // code that deleted invites if the member has no permissions } };
about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda