gpt4 book ai didi

javascript - Discord Bot 未接收交互

转载 作者:行者123 更新时间:2023-12-05 00:31:07 29 4
gpt4 key购买 nike

我是一个相对有经验的开发人员(最近毕业),几年前我做了几年后试图重新回到不和谐机器人。
我一直在关注guide on discordjs.guide ,但即使使用基本的“hello world”风格的程序,我也已经被卡住了。
该程序在运行时没有给出错误,但在控制台中没有交互。

  • 当我启动脚本时,机器人切换到“在线”。奇怪的是,在我重新生成 token 之前,机器人不会切换回“离线”。不确定这是否相关。
  • 我已验证 process.env.BOT_TOKEN是正确的值。
  • 我已确认 client.login成功运行。
  • 我已经尝试直接 DMing 机器人
  • 我试过在公会 channel 发送消息
  • 我试过 @ing 机器人

  • 有什么我不理解/看不到的 super 明显的东西吗?否则,我还应该尝试什么作为故障排除步骤?
    const { Client, Intents } = require('discord.js');

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

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

    client.on('interactionCreate', interaction => {
    console.log(interaction);
    });

    client.login(process.env.BOT_TOKEN);
    包.json:
    {
    "name": "timebot",
    "version": "1.0.0",
    "description": "",
    "main": "start.js",
    "scripts": {
    "start": "node -r dotenv/config start.js dotenv_config_path=secrets.env",
    "test": "echo \"Error: no test specified\" && exit 1"
    },
    "keywords": [],
    "author": "",
    "license": "ISC",
    "dependencies": {
    "discord.js": "^13.1.0",
    "dotenv": "^10.0.0"
    }
    }

    最佳答案

    事实证明,discord.js 没有将消息归类为“交互”。此外,您必须指定监听消息的意图,否则,事件将不会传递给您的机器人。这是具有这两个关键更改的修改后的代码:

    const { Client, Intents } = require('discord.js');

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

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

    client.on('interactionCreate', interaction => {
    console.log(interaction);
    });

    client.on("messageCreate", message => {
    console.log(message);
    });

    client.login(process.env.BOT_TOKEN);

    关于javascript - Discord Bot 未接收交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68766031/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com