【问题标题】:my discord.js bot doesn't reply to a user message even if there isn't any error [duplicate]即使没有任何错误,我的 discord.js 机器人也不会回复用户消息 [重复]
【发布时间】:2021-10-26 20:59:40
【问题描述】:

我的 discord.js 机器人版本是 13.1.0,我的节点版本是 16.7.0。我在终端中输入了这些命令:npm init 创建 package.jsonnpm install discord.js 安装 discord 包。

我在 index.js 中编写了代码,并创建了 config.json 以将令牌放在那里。

当我运行代码时,它会显示“准备就绪!”在控制台中并在 Discord 中在线。我还可以毫无问题地更改机器人的状态和活动。这里的问题是机器人不发送或回复消息。

下面是代码

const { Client, Intents } = require('discord.js');
const { token } = require('./config.json');

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

client.once('ready', () => {
    console.log('Ready!');
});

client.on ('messageCreate', (message) => {
    if (message.content === 'hello') {
        message.reply('Hello')
    };
});

client.login(token);

这是 config.json 的代码,以防万一。

{
    "token": "my_bot_token!"
}

【问题讨论】:

标签: javascript node.js discord.js bots


【解决方案1】:

此问题是由缺少意图引起的。要收听消息,您需要指定GUILD_MESSAGES 标志:

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

【讨论】:

  • 它与这段代码一起工作:)),我还有另一个问题,这只是一个让人们容易理解的例子。我的另一个问题是当我尝试在包含命令和事件处理程序的主机器人项目中添加你的答案时,但它在那里不起作用,即使我在机器人的 OAuth2 中打开 applications.commands
  • 如果当前问题已经解决,那么回答的用户应该在他们的回答上打勾。如果您有新问题,请考虑发布新问题
  • 我现在发布了另一个问题。我得到了答案,但它不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-26
  • 2021-10-13
  • 1970-01-01
  • 2021-07-01
  • 1970-01-01
相关资源
最近更新 更多