如何让 discord.py bot 忽略@everyone 提及?

时间:2021-06-20 17:22:16

标签: python discord.py bots

我为我的不和谐做了一个机器人,但我以我自己的名字命名。所以有时会不小心提到机器人而不是我,而我没有收到通知。我写了一些代码,如果机器人被提及,它会回复我的 ID,所以我得到了提及。

我的问题是:机器人也会回复@everyone,我该如何防止?

@client.event
async def on_message(message):
    if message.author == client.user:
        return
    if client.user.mentioned_in(message):
        await message.channel.send(f'{message.author.mention} You probably meant that message for <@my_id>')
    await client.process_commands(message)

1 个答案:

答案 0 :(得分:1)

您可以先做一个 if 语句来检查消息是否提到了所有人,如果是,则忽略它。

@client.event
async def on_message(message):
    if message.author == client.user:
        return
    if message.mention_everyone:
        return
    if client.user.mentioned_in(message):
        await message.channel.send(f'{message.author.mention} You probably meant that message for <@my_id>')
    await client.process_commands(message)