Hice un bot de discordia usando discord.js. Este bot debe hacer preguntas sobre un juego cuando alguien usa !rank [nombre del rango] y si el usuario responde correctamente, recibe el rango. Encontré una forma de recopilar mensajes, pero este método no quiere funcionar, envía el mensaje varias veces y también ignora el tiempo dado al recopilador, probé varias cosas pero ninguna funcionó, soy muy nuevo en crear discordia. bots, ¿alguien puede recomendarme alguna otra solución para que este bot funcione?
CÓDIGO:
client.on('messageCreate', message => { if (message.content == '!rank r6') { message.channel.send('Is Frost an attacker?') const collector = new Discord.MessageCollector(message.channel, m => m.author.id == message.author.id, {max: 1, time: 8000}) collector.on('collect', message => { if (message.content == 'no'){ message.channel.send('Role added') message.member.roles.add('775660517053562900') } }) } })No estoy seguro de cómo formateó su código para que se vea así, ya que los documentos y la guía oficiales sugieren diferentes formas de implementar Collectors. Yo personalmente sugiero seguir las guías cuidadosamente.
Específicamente, veo que intenta crear un new Discord.MessageCollector mientras que la guía sugiere usar una función en message.channel para instalar un recopilador de mensajes.
Aquí hay algunos recursos para ayudarlo (suponiendo que esté usando Discord.js v12): https://v12.discordjs.guide/popular-topics/collectors.html#message-collectors https://v12.discordjs.guide /información-adicional/async-await.html#how-do-promises-work