He tenido problemas para crear un bot para mi servidor de discord, así que usé el código inicial para el bot de discord de discordjs.guide y agregué un comando simple para responder a "ping", quería probar lo que hice mal antes... pero No obtengo respuesta del bot. Ya le doy permisos con el link de invitacion y con un rol, alguien me puede decir que tiene de malo el codigo? Instalé discord.js y dotenv
// Require the necessary discord.js classes const { Client, Intents } = require('discord.js'); const { token } = require('./config.json'); // Create a new client instance const client = new Client({ intents: [Intents.FLAGS.GUILDS] }); // When the client is ready, run this code (only once) client.once('ready', () => { console.log('Ready!'); }); client.on('message', function(msg){ if(msg.content === 'ping'){ msg.reply('pong'); } }); // Login to Discord with your client's token client.login(token);A tu código le falta la intención GUILD_MESSAGES . Simplemente agréguelo a sus intenciones y su bot debería responder a los mensajes. Tenga en cuenta que Discord eliminará las intenciones de mensajes después del 30 de abril, por lo que deberá ingresar a https://discord.com/developers y en la sección de bots, activar las intenciones de mensajes.
// Require the necessary discord.js classes const { Client, Intents } = require('discord.js'); const { token } = require('./config.json'); // Create a new client instance const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS. GUILD_MESSAGES] }); // When the client is ready, run this code (only once) client.once('ready', () => { console.log('Ready!'); }); client.on('message', function(msg){ if(msg.content === 'ping'){ msg.reply('pong'); } }); // Login to Discord with your client's token client.login(token);Tenga en cuenta que Discord eliminará las intenciones de mensajes después del 30 de abril, por lo que deberá ingresar a https://discord.com/developers y en la sección de bots, activar las intenciones de mensajes.
es porque el client.on("message") ha quedado obsoleto
Y debe definir en su cliente de discord los GUILD_MESSAGES como este
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] });y el evento para recibir el mensaje en su servidor seria
client.on('messageCreate', function(msg){ if(msg.content === 'ping'){ msg.reply('pong'); } });Documentos del evento "messageCreate"