Discord bot 活动但不响应命令 (js)

Posted

技术标签:

【中文标题】Discord bot 活动但不响应命令 (js)【英文标题】:Discord bot active but not responding commands (js) 【发布时间】:2021-10-23 16:14:58 【问题描述】:

我以前搜索过这个但我什么也没得到,即使有很多问题非常相似。如果我发布相同的内容,我提前道歉。

这是我第一次创建机器人。我跟随这两个视频达到了这一点。

https://www.youtube.com/watch?v=j_sD9udZnCk&list=RDCMUC08G-UJT58SbkdmcOYyOQVw&start_radio=1&rv=j_sD9udZnCk&

https://www.youtube.com/watch?v=nTGtiCC3iQM&

问题在于,即使机器人处于开启状态,它也无法捕捉到 ping 命令。这是最开始。我无法继续对机器人进行编程,因为他无法捕捉任何命令。

这是我的 main.js 代码。我唯一更改的是将new Discord.client(); 更改为new Discord.Client( intents: 100 );,因为它似乎最近发生了变化。

我仍然不知道什么是意图以及我应该在那里输入什么数字,但是当我写下 node . 时,机器人似乎打开了。

const Discord = require('discord.js');

const client = new Discord.Client( intents: 100 );
// idk which number of intents should I put here

const prefix = '-';

client.once('ready', () => 
    console.log('Ivancódigo funcionando!');
);

client.on('message', message =>

    /*if(message.content.startsWith(`$prefixping`))
            message.channel.send('pong!');*/

    if(!message.content.startsWith(prefix) || message.author.bot) return;

    const args = message.content.slice(prefix.length).split(/ +/);
    const command = args.shift().toLowerCase();

    if(command === 'ping')
        message.channel.send('pong!');
    
)

client.login('TOKEN');

当我在 discord 的文本框中输入 -ping 时,我仍然没有得到任何回应。我已经尝试了许多代码,但仍然相同,但我清理了大部分代码以保持您阅读的舒适,只保留重要的东西。错误一定是在 Discord 收到此代码说明的任何地方,但我不知道如何解决。

我哪里出错了?提前致谢。

【问题讨论】:

【参考方案1】:

这可能是因为错误的 intetnts,如果你有 discord.js v13,这个工作。 尝试这样的事情并删除您不需要的意图:

const client = new Client( intents: [
  "GUILDS",
  "GUILD_MEMBERS",
  "GUILD_BANS",
  "GUILD_EMOJIS_AND_STICKERS",
  "GUILD_INTEGRATIONS",
  "GUILD_WEBHOOKS",
  "GUILD_INVITES",
  "GUILD_VOICE_STATES",
  "GUILD_PRESENCES",
  "GUILD_MESSAGES",
  "GUILD_MESSAGE_REACTIONS",
  "GUILD_MESSAGE_TYPING",
  "DIRECT_MESSAGES",
  "DIRECT_MESSAGE_REACTIONS",
  "DIRECT_MESSAGE_TYPING"
  ]
);

【讨论】:

它给了我一个新的错误。 const client = new Client( intents: [ ^ ReferenceError: Client is not defined 然后我改成 new Discord.Client... 并扔给我这个: throw new Error(WSCodes[error.code]); ^ Error [DISALLOWED_INTENTS] : 提供的特权意图未启用或列入白名单。 好的,我搜索了一下,我可能越来越近了。谢谢。如果我解决了我的问题或任何其他情况,我会发表评论。 非常感谢伙计,我刚刚删除了 GUILD_PRESENCES(由于某种原因不起作用)并放入 new Discord.Client(... 现在它可以工作了。现在我明白什么是意图。现在我可以继续^^

以上是关于Discord bot 活动但不响应命令 (js)的主要内容,如果未能解决你的问题,请参考以下文章

discord.py bot 不会响应命令

discord.py bot 只响应一个命令

discord.js 发送自定义消息而不是镜像消息

Discord Bot 不响应命令(Python)

Discord Bot 在第一个命令后没有响应

Discord Bot 使用 python 向一个命令发送多个响应