基于Python的Discord bot回复错误(无限循环)

时间:2020-11-03 04:31:02

标签: python deep-learning discord

我学习Java已有几个月了,对python来说还很新。我目前正在构建一个简单的深度学习AI机器人,以解决不和谐的问题,该机器人可以接收用户的消息,然后使用预先建立的数据库中的消息进行回复。我已经成功完成了AI的工作,但是我目前在设置不一致代码时遇到了一些问题。

下面是我的最终代码块,负责接收来自不和谐的消息并以不和谐的方式回复用户。

当前错误::在不和谐聊天中发送第一条消息后,我的代码不会停止执行,从而导致漫游器不断重复发送消息。这很可能是由函数内的img循环引起的。

我尝试过的解决方案:是python的新手,我不确定如何像在Java中那样创建布尔类型类变量。我试图将布尔变量while用作while循环的条件语句。一旦发送了僵尸程序的回复,此变量就设置为false,以确保程序不会扫描僵尸程序自己的答复并引起无限循环。该解决方案似乎不起作用,因为我似乎无法找到一种在函数外部创建new_message变量的方法。

注意:我不能简单地删除while循环,因为一旦用户输入“ quit”,我需要程序终止。

new_message

此外,除了上述问题外,如果有人知道如何设置仅在用户标记了漫游器本身时才响应的漫游器,请让我知道该怎么做!

谢谢!

1 个答案:

答案 0 :(得分:1)

尽管我不确定您的代码应该做什么,但我坚信您看到的无限循环不是由while循环引起的,而是由on_message处理程序引起的。基本上,机器人会看到您的消息,然后发送另一条消息作为响应,查看该消息,然后发送另一条消息作为响应,等等。

为避免这种情况,您可以做些什么

async def on_message(message):
    if message.author == client.user:
        return

    # Also desirable
    if message.author.bot:
        return

    # Process user message