Empecé a crear mi propio bot de Discord para el servidor de mi amigo y sigo teniendo el mismo problema.
Escribí algo simple para tener una primera interacción entre el bot y yo:
client.on("messageCreate", message => { console.log(message.content); });Esto debería escribir en la consola el contenido de cualquier mensaje enviado en el servidor de Discord al que está conectado el bot (solo está conectado a mi servidor de prueba)
No entendí por qué esto no funciona, así que comencé a buscarlo y usé el evento "depurar".
Cuando node index.js , la consola me dice:
Booting up... [WS => Manager] Fetched Gateway Information URL: wss://gateway.discord.gg Recommended Shards: 1 [WS => Manager] Session Limit Information Total: 1000 Remaining: 981 [WS => Manager] Spawning shards: 0 [WS => Shard 0] [CONNECT] Gateway : wss://gateway.discord.gg/ Version : 9 Encoding : json Compression: none [WS => Shard 0] Setting a HELLO timeout for 20s. [WS => Shard 0] [CONNECTED] Took 172ms [WS => Shard 0] Clearing the HELLO timeout. [WS => Shard 0] Setting a heartbeat interval for 41250ms. [WS => Shard 0] [IDENTIFY] Shard 0/1 with intents: 8 [WS => Shard 0] [READY] Session f3fcd33aad118dc188b7b63c3eec3eed. [WS => Shard 0] [ReadyHeartbeat] Sending a heartbeat. [WS => Shard 0] Shard will not receive any more guild packets. Unavailable guild count: 1 Booted ! [WS => Shard 0] Heartbeat acknowledged, latency of 112ms. [WS => Shard 0] [HeartbeatTimer] Sending a heartbeat. [WS => Shard 0] Heartbeat acknowledged, latency of 120ms. [WS => Shard 0] [HeartbeatTimer] Sending a heartbeat.Luego sigue enviando latidos y lo reconoce hasta que lo detengo.
Lo que me dice que algo anda mal es esto:
"Shard no recibirá más paquetes de gremio"
"Número de gremios no disponibles: 1"
Aquí está todo mi index.js (solo mi token está en config.json ):
console.log("Booting up..."); const { Client, Intents } = require("discord.js"); const {spd} = require("./config.json"); const botIntents = 8; const client = new Client({intents : botIntents}); client.login(spd); client.once("ready", isBooted); client.on("messageCreate", message => { console.log(message.content); }); client.on("debug", err => { console.log(err); }); ///////// function isBooted() { console.log(" Booted !"); }Información del sistema:
Windows 10 NPM 8.0.0 Node v16.11.1 Discord.js 13.2.0Dime si necesitas más información para ayudarte.
Parece que la única intención que estás usando es GUILD_EMOJIS_AND_STICKERS , que descubrí con esta calculadora de intenciones . Debes mostrar cada intent para que puedas modificarlo fácilmente:
const { Client, Intents } = require("discord.js") const client = new Client({intents : [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES]});