如何阻止discord bot响应自身 - 返回if语句不起作用

问题描述 投票:0回答:1

我是Python的新手,我正在使用discord.py rewrite,python 3.7编写一个discord bot。问题在于:我的机器人不断响应自己,产生无限的重复消息流。我已经搜索了我的问题的解决方案,我遇到的似乎正在为其他人正常运行,但不适合我。这是我的代码:

@client.event
async def on_message(message):
    await message.channel.send("hi")
    if message.author == client.user:
        return
    await client.process_commands(message)

我试过更换

if message.author == client.user:
        return

if message.author.bot == True:
    return

因为它似乎是一种替代解决方案。但是,它们都没有奏效。我不知道该怎么做。

python-3.7 discord.py-rewrite
1个回答
1
投票

问题解决了。对于那些想知道:我只需要移动

if message.author == client.user:
    return

到功能的顶部。我的最终代码是这样的:

@client.event
async def on_message(message):
    if message.author == client.user:
        return
    await message.channel.send("hi")
    await client.process_commands(message)
© www.soinside.com 2019 - 2024. All rights reserved.