Python 如何在on_message event discord.py之后触发我的bot以DM用户
我试图让我的机器人消息直接成为用户,如果他们键入某个单词,例如字母“E”,但我不知道如何做到这一点。感谢您的帮助 我猜这就是你的意思:Python 如何在on_message event discord.py之后触发我的bot以DM用户,python,python-3.x,discord,discord.py,Python,Python 3.x,Discord,Discord.py,我试图让我的机器人消息直接成为用户,如果他们键入某个单词,例如字母“E”,但我不知道如何做到这一点。感谢您的帮助 我猜这就是你的意思: @bot.event async def on_message(message): if(message.content == 'E'): await message.author.send('You typed E!') 这里有几点需要注意: message.channel.send()函数用于公共响应,如在服务器上。 message.au
@bot.event
async def on_message(message):
if(message.content == 'E'):
await message.author.send('You typed E!')
这里有几点需要注意:
message.channel.send()
函数用于公共响应,如在服务器上。
message.author.send()
函数用于私人响应或直接消息(DM)
@bot.event
异步def on_消息(消息):
如果(message.content='E'):
wait message.author.send('您键入了E!')`在此处输入代码`
您可以使用
@bot.event
异步def on_消息(消息):
如果message.coent.lower()=“e”:
dmchannel=wait message.author.create_dm()
等待dmchannel.send(“您键入了E!”)
欢迎使用堆栈溢出!请阅读介绍,并复习以了解社区期望。堆栈溢出不是免费的编码服务,因此,类型问题通常不受欢迎。您必须展示自己在解决问题方面的努力,然后提出一个具体问题,说明您的实现在哪些方面存在不足。谢谢您的回答,我尝试了这个方法,但出于某种原因什么也没有发生。我没有收到任何错误,但没有发送任何消息,知道为什么吗?@Matt你到底在discord中键入了什么?@Matt你的机器人正在运行吗?将打印消息添加到on_message事件中,首先检查事件是否触发,然后尝试发送消息。请注意,仅“键入”E不会触发事件,您必须发送一条仅包含“E”的消息才能触发答案。顺便说一句,此代码也区分大小写。因此,您必须将大写的E
用户希望直接消息(DM)
转换为消息作者
而不是公共消息,请尝试将消息.频道
更改为消息.作者
。但在此之后,您的答案将与答案相同,请尝试更新它