本文介绍了我如何通过在discord.py的on_Message中提到某人的名字来向某人发送DM消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望机器人向消息内容中包含姓名的用户发送一条DM消息,代码如下:
@commands.Cog.listener()
async def on_message(self, message):
for user in People: # People list includes all members' names in the server
if f'{user}' in message.content:
await message.user.send("Hi")
else:
pass
我知道问题出在await message.user.send("Hi")
中,但我想要的是当我在我的消息中(例如)&Hello Ahmed;机器人应该向Ahmed发送一条DM消息说&Hi&q;
推荐答案
您不必重复工会中每个人的名字。discord.Message
具有属性mentions
。它返回消息中提到的成员列表。因此,您只需迭代该列表。
@commands.Cog.listener()
async def on_message(self, message):
for member in message.mentions:
await member.send('Hi')
这篇关于我如何通过在discord.py的on_Message中提到某人的名字来向某人发送DM消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!