每当发送消息时,机器人都会回复自己

时间:2021-04-01 17:20:10

标签: python discord.py

这是我目前的代码令牌是我的机器人令牌 我的问题是机器人在发送消息时都会回复自己

@client.event
async def on_message(message):
print("Test Success")
msg = message.content
member = message.author.id
print(message.author.id)
if member == "":
    print("bot replied to itself ggs worlds ending")
    return
if "" in message.content:
    await message.channel.send('Shut Up', mention_author=True)
    return
client.run(token)

3 个答案:

答案 0 :(得分:0)

您必须检查消息的作者才能排除机器人。

一个简单的方法可能是:

@client.event
async def on_message(message):
    if message.author == client.user:
        return # Do not check the bots messages
    else:
        # Do what you want to do

答案 1 :(得分:0)

documentation for on_message 指出这会发生并建议

<块引用>

如果您不希望机器人回复自己,请考虑检查用户 ID

你可以这样做:

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

Quickstart中的建议。

答案 2 :(得分:0)

您需要检查消息的发送者是否是机器人。 我建议您比较 ID

# Check if member is bot
if member.id == bot.id: