No tengo experiencia con dc bots, así que seguí un tutorial de yt, pero discord.js que usó era una versión anterior (v12), así que arreglé el código para mi versión v14. El Bot se conecta, pero cuando escribo un comando no responde. No hay errores, simplemente se conecta en línea y le da a la consola un mensaje que es todo. Tal vez sea por la versión, pero no puedo encontrar ninguna respuesta para esta versión. (Tal vez sea algo más, ya que dije que nunca antes había hecho eso) Este es mi main.js:
const { Client, GatewayIntentBits } = require('discord.js'); const client = new Discord.Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, ] }) const prefix ='!'; const fs = require('fs'); client.commands = new Discord.Collection(); const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js')); for (const file of commandFiles){ const command = require(`./commands/${file}`); client.commands.set(command.name, command); }; client.once('ready', () => { console.log('Bot is online!'); }); client.on('message', message =>{ console.log("1") if(!message.content.startsWith(prefix) || message.author.bot) return; console.log("2") const args = message.content.slice(prefix.length).split(/ +/); const command = args.shift().toLowerCase(); if(command === 'ping'){ client.commands.get('ping').execute(message, args); } }); client.login('TOKEN');El console.log() 1 y 2 son para verificar si funciona, pero no se mostrará en la consola solo el "Bot está en línea". Luego tengo una carpeta /commands con ping.js:
module.exports = { name: 'ping', description: "this is a ping command!", execute(message, args){ message.channel.send('pong!') } }Debe solicitar la intención del contenido del mensaje. Ver cómo:
const { Client, GatewayIntentBits } = require('discord.js'); const client = new Discord.Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent ] }) Tenga en cuenta que es posible que también deba habilitarlo en el Portal de desarrolladores de Discord: 