Я пытаюсь заставить бота discord получить эту ошибку [Символ(код)]: ‘BITFIELD_INVALID’

#javascript #discord #discord.js

Вопрос:

Ниже приведен фрагмент кода, который я пытаюсь:

 const Discord = require("discord.js");
const client = new Discord.Client({intents:["GUILD_VOICE_STATES","VOICE_STATE_UPDATE"]});
const config = require("./config.json");

client.login(config.token);
 

Ответ №1:

Из руководства

Чтобы реализовать ваши намерения,

 const client = new Client({ intents: [Intents.FLAGS.GUILD_VOICE_STATES] });
 

Вам также потребуется класс Intents,

 const { Discord, Intents } = require("discord.js");
 

Однако самое главное- "VOICE_STATE_UPDATE" это не намерение, это событие, которое может быть получено только с GUILD_VOICE_STATE намерением

Ответ №2:

VOICE_STATE_UPDATE не является действительным намерением. Это то GUILD_VOICE_STATES , что вы хотите (у вас есть это, но VOICE_STATE_UPDATE оно недействительно). Это намерения, которые вы должны иметь, чтобы отслеживать состояния голоса:

  • Намерения члена гильдии
  • Голосовые состояния

Поэтому именно так вы должны заявить client

 const client = new Discord.Client({
  intents: [
    "GUILD_VOICE_STATES",
    "GUILDS",
    "GUILD_MEMBERS"
  ]
})
//GUILDS is required for some other intents like messages and members