Probé todos los tutoriales, pero mi bot simplemente no responde a mis comandos en un chat de Discord
Índice.js
const { REST } = require('@discordjs/rest'); const { Routes } = require('discord-api-types/v9'); const rest = new REST({ version: '9' }).setToken('[bot token]'); (async () => { try { console.log('Started refreshing application (/) commands.'); await rest.put( Routes.applicationGuildCommands([clinent id], [guild id]), { body: commands }, ); console.log('Successfully reloaded application (/) commands.'); } catch (error) { console.error(error); } })();bot.js
const { DiscordAPIError } = require('@discordjs/rest'); const { Client, Intents } = require('discord.js'); const Discord = require('discord.js'); const client = new Client({ intents: [Intents.FLAGS.GUILDS] }); const token = 'token'; const prefix = '!'; client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`); console.log(``); }); client.on('messageCreate', (message) => { if(message.content.toLowerCase().includes('hey bot') || message.content.toLowerCase().includes('general kenobi')){ message.channel.send('Hello there!'); } }); client.on('messageCreate', (message) => { if(message.content.toLowerCase().includes('fudge') || message.content.toLowerCase().includes('pudding')){ message.channel.send('Such language is prohibited!'); } }); client.login(token); Cuando escribo cualquiera de los comandos, el bot de Discord permanece en silencio. bot.js como principal en package.json .
No obtengo errores en la consola.
Esos intentos cubren solo las operaciones con el gremio, no los mensajes si no me equivoco. Necesitas GUILD_MESSAGES y tal vez incluso la intención DIRECT_MESSAGES también.
https://discord.com/developers/docs/topics/gateway#list-of-intents
Encuentro la causa. Aparentemente, tuve que verificar todos los permisos que necesitaba mi bot de la sección de desarrolladores en Discord. Ningún tutorial mostró eso. Y después de eso, puse más intentos: Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_MESSAGES