【问题标题】:Discord bot active but not responding commands (js)Discord bot 活动但不响应命令 (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(`${prefix}ping`)){
            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 收到此代码说明的任何地方,但我不知道如何解决。

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

【问题讨论】:

    标签: javascript discord command bots


    【解决方案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(... 现在它可以工作了。现在我明白什么是意图。现在我可以继续^^
    猜你喜欢
    • 2020-12-15
    • 2021-08-28
    • 2021-02-17
    • 2023-03-09
    • 2021-04-17
    • 2022-10-23
    • 2022-01-04
    相关资源
    最近更新 更多