message.content no tiene ningún valor en Discord.js

Resuelto user19530601 asked hace 2 años • 1 respuestas

Con Discord v14, estaba intentando usar el messageCreateevento, sin embargo, después de que un usuario escribe un mensaje en Discord, message.contentno tiene ningún dato como se muestra a continuación:

Message {
  channelId: '998889338475655188',
  guildId: '948995127148425246',
  id: '998925735668498433',
  createdTimestamp: 1658232854526,
  type: 0,
  system: false,
  content: '',
  author: User 

Intenté buscar y no puedo encontrar ninguna solución al problema, el código que estoy usando en relación con la discordia es:

import { Client, GatewayIntentBits, Partials } from "discord.js";

const bot = new Client({
  'intents': [
    GatewayIntentBits.DirectMessages,
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildBans,
    GatewayIntentBits.GuildMessages
  ],
  'partials': [Partials.Channel]
});

bot.on('messageCreate', async (message) => {
  console.log(message);
});

bot.login(process.env.token1)

¿Alguien tiene alguna idea de qué está mal o qué es necesario cambiar con la nueva actualización?

user19530601 avatar Jul 19 '22 19:07 user19530601
Aceptado

Asegúrese de habilitar la intención del contenido del mensaje en su portal de desarrollador y agregue la GatewayIntentBits.MessageContentenumeración a su intentsmatriz.

Aplicaciones ↦ Configuración ↦ Bot ↦ Intenciones de puerta de enlace privilegiada

ingrese la descripción de la imagen aquí

También deberás agregar la MessageContentintención:

const { Client, GatewayIntentBits, Partials } = require('discord.js');
const client = new Client({
  intents: [
    GatewayIntentBits.DirectMessages,
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildBans,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent,
  ],
  partials: [Partials.Channel],
});

Y asegúrese de utilizar el messageCreateevento en lugar de message:

client.on('messageCreate', (message) => {});

Si está utilizando discord.js v13, deberá habilitar la intención del contenido del mensaje en su portal de desarrollador y si su bot usa la API de Discord v10, deberá agregar la MESSAGE_CONTENTmarca a sus intenciones:

const { Client, Intents } = require('discord.js');
const client = new Client({
  intents: [
    Intents.FLAGS.GUILDS,
    Intents.FLAGS.GUILD_MESSAGES,
    Intents.FLAGS.MESSAGE_CONTENT,
  ],
});
Zsolt Meszaros avatar Jul 19 '2022 12:07 Zsolt Meszaros