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

148
Visualizações
Cómo excluir la reacción del bot en el colector de reacciones

Tenía un código antiguo, que hice durante la V12 de discord.js, que funcionaba correctamente. El código me falló recientemente al cambiar la mayoría de las cosas requeridas para cambiar (cosas que habían cambiado para v13) e hice una versión más simplificada para ver cuál era el problema y parece que el mensaje se envió al bot, en lugar de cualquier persona que reaccionó al mensaje.

 const { client, message } = require("discord.js") module.exports = { name: "collect", description: "--", category: "info", async execute(message, args, client) { const newMsg = await message.channel.send("words") newMsg.react("✅") const filter = (reaction, user) => { return !user.bot }; const collector = newMsg.createReactionCollector(filter, { time: 6000000 }); collector.on('collect', (reaction, user) => { user.send("it worked") }); } }

Este es el código, donde quiero que el bot cree un mensaje, cree una reacción a continuación y permita que el usuario reaccione, para que pueda obtener la identificación del usuario y enviarle un mensaje.

Sin embargo, una vez que ejecuto el código, envía el mensaje, crea la reacción y arroja este error a continuación;

 DiscordAPIError: Cannot send messages to this user at RequestHandler.execute (E:\Github\Valorant-Curios-Tournaments\node_modules\discord.js\src\rest\RequestHandler.js:350:13) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async RequestHandler.push (E:\Github\Valorant-Curios-Tournaments\node_modules\discord.js\src\rest\RequestHandler.js:51:14) at async UserManager.createDM (E:\Github\Valorant-Curios-Tournaments\node_modules\discord.js\src\managers\UserManager.js:58:18) at async ClientUser.send (E:\Github\Valorant-Curios-Tournaments\node_modules\discord.js\src\structures\interfaces\TextBasedChannel.js:162:18) { method: 'post', path: '/users/852994509628768298/channels', code: 50007, httpStatus: 400, requestData: { json: { recipient_id: '852994509628768298' }, files: [] } }

La identificación del destinatario es la misma que la identificación del bot, por lo que asumo que no está filtrando la identificación del bot con el filtro;

 const filter = (reaction, user) => { return !user.bot === message.author.id; };

Cualquier ayuda sería apreciada, gracias.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No importa, soy muy tonto

El filtro está en el objeto.

 const collector = newMsg.createReactionCollector(filter, { time: 6000000 });

para arreglar esto, solo necesitaba hacerlo

 const collector = newMsg.createReactionCollector({filter, time: 6000000 });
about 4 years ago · Juan Pablo Isaza 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