我如何通过在discord.py的on_Message中提到某人的名字来向某人发送DM消息 [英] How can i send a DM message to someone just by mentioning his name in on_message in discord.py

查看:14
本文介绍了我如何通过在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消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆