当前位置: 首页 > 知识库问答 >
问题:

如何阻止不和谐机器人回复自己或其他机器人?(discord.js)

艾善
2023-03-14

我是一个编程新手。几天前,我开始开发我的第一个discord机器人,你知道,让我和我的朋友一起玩。现在,让我们假设我想让这个机器人检测消息中的单词,并在每次有人提到该单词时回复,无论消息的哪个部分。我能做到,但现在有个问题。假设我要找的单词是“你好”。如果有人说“哦,你好”,“你好”,一条写着“你好”的消息,机器人会回复“你好”。但是机器人也会在自己的消息中检测到hello,并一遍又一遍地回复自己,直到我关闭它。代码如下:

bot.on("message", message => {
    const hello = ["hello"];
    if( hello.some(word => message.content.includes(word)) ) {
        message.channel.send("Hello!");
}} ) 

所以,我不知道如何让机器人在自己的消息中看不到“你好”,或者任何机器人的消息,如果这更容易的话,但是能够分析用户的“你好”,这样它就不会陷入无限的回复循环对自己。我怎么能这么做??提前谢谢(:

共有2个答案

冉伯寅
2023-03-14

只需检查消息作者是否是使用message.author.bot的机器人

bot.on("message", message => {
    if (message.author.bot) return
    const hello = ["hello"];
    if( hello.some(word => message.content.includes(word)) ) {
        message.channel.send("Hello!");
}
})
尉迟龙光
2023-03-14

如果要阻止bot回复自身,请执行以下操作:

if (message.author == client.user)
    return;

您还可以阻止一个机器人回复另一个机器人:

if (message.author.bot)
   return;
 类似资料:
  • 我正在寻找一种方法,使一个不和谐的机器人反应或答复,只有某些用户。它可以通过角色或ID选择用户,但我似乎无法让它工作。这就是我尝试过的: 如果有帮助的话,我正在用Discord JS编写代码。这是整个索引。js文件: 文件运行正常,机器人联机,然后打印“就绪!”然而,对于控制台来说,代码的其余部分似乎不起作用。

  • 我的discord机器人每天凌晨4点自动发送消息。我不知道为什么。代码如下: 我不明白为什么我的机器人每天都自动向所有被邀请的服务器发送这条消息。 任何想法?

  • 我试图让我的自我机器人加入服务器。我知道self-bots反对discordtos,但我想学习一些新的东西。 这是我尝试过的命令: 错误:

  • 我使用repl。它让我的不和机器人。我使用Python并遵循本教程: https://www.youtube.com/watch?v=SPTfmiYiuok 这是我的代码:

  • 问题内容: 我正在使用Python处理User Discord Bot。如果机器人所有者键入内容,则该机器人将DM所有者提到的用户。 问题答案: 最简单的方法是使用扩展程序。在这里,我们使用转换器来获取目标用户,并使用仅关键字参数作为可选消息来发送目标用户: 对于discord.py的较新的1.0+版本,应使用而不是

  • 我已经创建了一个bot,它现在在我的discord服务器中,使用下面的代码。 我的问题是,一旦我在与bot不和谐的聊天中,我如何调用命令让bot运行代码,为用户列表收集csv?我不确定如何调用机器人,一旦它在聊天/服务器中获得列表。