如何阻止Discord机器人对其自身做出响应-如果语句不起作用则返回

时间:2019-03-02 19:07:52

标签: python-3.7 discord.py-rewrite

我对Python很陌生,我正在使用discord.py rewrite python 3.7编写一个discord机器人。这就是问题所在:我的机器人不断响应自身,生成无限量的重复消息。我一直在寻找解决问题的方法,而我所遇到的一切似乎对其他所有人(而不是我自己)都是正确的。这是我的代码:

@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

,因为它似乎是替代解决方案。但是,它们都不起作用。我不确定该怎么办。

1 个答案:

答案 0 :(得分: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)