【问题标题】:Discord.js bot reply with slash commandDiscord.js 机器人使用斜杠命令回复
【发布时间】:2021-10-23 23:17:02
【问题描述】:

我有一个有效的斜杠命令,这很棒。我可以使用带有一个输入参数的命令,例如/command string,它将执行该命令。 但是,我希望设置一个 Discord 机器人,每隔 5 分钟左右在频道中使用该命令。我似乎无法让机器人使用该命令,关于如何让它工作的任何想法?

它只是在频道中显示字符串,但机器人不执行命令。

bot.on('messageCreate', async (msg) => {
    if (msg.content === "!loop") {
        interval = setInterval (function () {
            msg.channel.send("/command string")
        }, 3 * 1000);
    }
})

【问题讨论】:

  • 所有普通机器人都会忽略来自其他机器人的消息/命令,因此您不能滥用自己的机器人
  • 该死的......我想滥用我自己的机器人哈哈。嗯,必须想办法解决
  • 我不认为机器人可以看到或运行斜杠命令,无论是您自己的还是任何其他机器人。您的代码不起作用,因为channel.send 只能发送文本,以斜杠开头不会将其转换为斜杠命令调用。

标签: javascript node.js events discord discord.js


【解决方案1】:

机器人只能接收Application Command Interactions,不能创建它们。这意味着您的机器人将无法运行其他机器人的斜线命令、单击它们的按钮或使用它们的下拉菜单。

但是,如果您可以控制其他机器人的代码,则可以将其设置为侦听来自第二个机器人的消息(不是交互),并相应地运行代码。

但请注意:正如 MegaMix 在他们的评论中提到的,如果您想要控制的机器人不是您的,您可能无法做到这一点,因为 it is a best practice 忽略来自其他机器人的消息 防止滥用和无限循环。

【讨论】:

    猜你喜欢
    • 2022-01-07
    • 2021-08-09
    • 1970-01-01
    • 2023-01-13
    • 2020-08-21
    • 2021-09-26
    • 2018-10-15
    • 1970-01-01
    • 2022-01-03
    相关资源
    最近更新 更多