首页 > 解决方案 > 如何检查消息是否包含 discord.py 中的提及?

问题描述

我们的机器人中有一个 globalchat 功能,我们不希望人们通过它提及其他人或每个人,所以我们在消息中禁用了“@”符号,但现在如果你输入“@ Hello World!”,它将返回并且您的消息将不会被发送。

                if "@" in message.content:
                    return

如何检查该消息中是否有提及?消息。提及?

标签: pythondiscorddiscord.py

解决方案


不和谐的提及并没有真正像那样处理,原始用户提及看起来像这样<@{id_here}>,而昵称提及看起来像这样<@!{id_here}>

您可以制作一个简单的正则表达式,但该Message对象已经具有该mentions属性,该属性返回discord.User/discord.Member实例列表:

if message.mentions: # If the list is not empty
    return

参考:


推荐阅读