【问题标题】:Stopping a discord bot from responding to itself阻止不和谐机器人对其自身做出响应
【发布时间】:2018-11-25 07:25:23
【问题描述】:

我真的是编码新手,我只是想知道我是否可以在我基于 Frost Bot 的不和谐机器人方面获得一些帮助。

这个想法很简单,Frost 会响应用户,但我已经删除了提及它以获得响应的需要。 我也有一个双胞胎机器人,想法是让他们交谈,他们会这样做,但似乎他们正试图回应他们自己所说的话,这导致积压的回复出现。

这是用 Python 编写的大部分代码——如果重要的话。

@client.event
async def on_ready():
    print('Logged in as '+client.user.name+' (ID:'+client.user.id+') | '+str(len(client.servers))+' servers')
    await client.change_presence(game=discord.Game(name='chat with me!'))

@client.event
async def on_message(message):
    if not message.author.bot == client.user:
        await client.send_typing(message.channel)
        txt = message.content.replace(message.server.me.mention,'') if message.server else message.content
        r = json.loads(requests.post('https://cleverbot.io/1.0/ask', json={'user':user, 'key':key, 'nick':'frost', 'text':txt}).text)
        if r['status'] == 'success':
            await client.send_message(message.channel, r['response'] )

任何帮助都将不胜感激,因为我对脚本/编码非常陌生,并且已经花了几个小时来尝试研究解决方案。

【问题讨论】:

    标签: python bots discord


    【解决方案1】:

    改为使用message.author.id == otherBotID: #stuff

    如果您要与多个其他机器人进行对话,请切换到 NOT 运算符并将其作为您自己的机器人 ID,然后检查消息作者是否是机器人。

    编辑

    将其替换为if not message.author.bot == client.user:
    最初,您正在检查消息的作者是否不是用户。如果它不是用户,你会做一些事情。
    但是由于您自己的机器人本身不是用户,因此当您的机器人发送消息(并接收它自己的消息)时,if 语句也会通过。
    因此,我们放置了一个 if 语句来检查机器人的 ID 是否等于目标机器人的 ID。

    【讨论】:

    • 现在只有两个机器人。如果你不介意我问,我可以把线放在哪里?还是我用它来代替什么?抱歉,就像我说的,我真的是新人。
    • @AtlasMagic 我编辑了我的问题以添加解释并回答您的问题
    • 我看到了您的编辑,并进行了更改,但现在当我尝试启动机器人时,它无法启动,并且出现错误。显然,在“await client.send_typing(message.channel)”行中出现“意外缩进”错误
    • 这意味着您在尝试复制 if 语句时可能错误地缩进了它。只需再次缩进。另外,如果你不知道你在复制什么(代码),我建议你先看一些基本的 python 教程,至少对你在做什么有一个基本的了解。
    • 对不起,我意识到这可能很愚蠢,但它已得到纠正。第一个机器人当前将该行替换为“message.author.id == SecondBotID”是你说的吗?它现在只响应第二个机器人,这正是我想要的,但是第二个机器人仍然响应自己。如果我使用除了第一个机器人 ID 之外的同一行代码,它应该只是镜像,对吗?
    猜你喜欢
    • 2018-06-27
    • 2020-10-11
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 2019-04-13
    • 2021-06-17
    • 2021-06-06
    • 2018-11-17
    相关资源
    最近更新 更多