Discord.js 机器人在更改意图后收到 Bitfield Invalid 错误

Posted

技术标签:

【中文标题】Discord.js 机器人在更改意图后收到 Bitfield Invalid 错误【英文标题】:Discord.js bot getting a Bitfield Invalid error after changing intent 【发布时间】:2021-11-18 04:00:41 【问题描述】:

有另一篇关于我的机器人在终端中运行的帖子,但没有在不和谐频道中发布消息。我更改了意图,因为我遇到了一个不同的问题,有人需要更改意图以便机器人可以在 Discord 中发布。在我对意图进行更改后,我现在收到此错误: RangeError [BITFIELD_INVALID]:无效的位域标志或数字:未定义。

require('dotenv').config();
const  Client, Intents  = require('discord.js');
const client = new Client( intents: [Intents.FLAGS.GUILD_MESSAGES, Intents.message, Intents.channel, Intents.reaction] );


client.on('ready', () => 
  console.log(`It's welcome time`);
);

client.on('message', msg => 
  if (msg.content === 'Hi') 
    msg.reply('Welcome wallet warrior!');
    msg.channel.send('Welcome wallet warrior!');

  
  else 
    msg.channel.send('Hi, please introduce yourself')
  ;

);

client.login(TOKEN);

【问题讨论】:

【参考方案1】:

这是因为Intents.message Intents.channel Intents.reaction 未定义,或者没有值。

您可能需要的正确意图:

const  Client, Intents  = require('discord.js');
const client = new Client(
     intents: [
        Intents.FLAGS.GUILDS,
        Intents.FLAGS.GUILD_MESSAGES,
        Intents.FLAGS.GUILD_MESSAGE_REACTIONS,
     ]
);

有一个discord.js official guide 可以帮助你。 Intents Calculator

【讨论】:

如果您发现自己对多个问题发布了相同的答案,您应该考虑使用帖子下方的 标记 选项,并将帖子标记为已包含正确答案。 好的,我是堆栈溢出的新手,哈哈 好吧,我也是新人哈哈。我被告知要问一个与我之前的帖子不同的问题。

以上是关于Discord.js 机器人在更改意图后收到 Bitfield Invalid 错误的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 机器人,临时静音命令不会静音

Discord Api 必须为客户端提供有效意图 [重复]

如何更改 Discord.js 机器人的状态?

Discord js,TypeError:提供的参数既不是用户也不是角色

不断收到 DiscordAPIError:在 Discord.js 中的音乐机器人上使用 reconlx 的分页执行队列命令时出现未知交互

我正在尝试在 heroku 上部署我的 node.js discord 机器人,但我不断收到错误