python - 如何从机器人向用户发送 DM 并通过 Discord.py 捕获响应

标签 python discord discord.py

这可能是一个愚蠢的问题,但我真的需要弄清楚这一点。我正在努力在我的机器人和 DM channel 之间建立一个接口(interface)。我当前的代码是:

if input.startswith('.direct'):
    content = re.sub(r'^\W*\w+\W*', '', message.content)
    await client.send_message(discord.PrivateChannel(User ID), content)

这基本上尝试通过用户 ID 发送消息,但不起作用。 API我查了好几遍了,还是没搞明白。我不需要 message.author 或类似的东西。我需要能够根据用户的标签或用户 ID 向用户发送消息。感谢任何帮助,为了奖励积分,如何获取响应?

最佳答案

从 ID 获取他们的用户对象,然后使用 client.send_message(destination, content) 将消息发送给他们。您可以在一行中完成此操作,因为 client.get_user_info(id) (从 ID 返回用户对象)也是一个协程。

if input.startswith('.direct'):
    content = re.sub(r'^\W*\w+\W*', '', message.content)
    await client.send_message(client.get_user_info(id), content)

关于python - 如何从机器人向用户发送 DM 并通过 Discord.py 捕获响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44103970/

相关文章:

python-3.x - 不和谐 Python : How to add cooldown command under an event

python - 如何从 Python 中的 OLS 结果中获取因变量的信息?

python - 如何进行时间码计算?

node.js - Discord 机器人无法通过 ID 获取用户集合

javascript - guildMemberAdd 和 guildMemberRemove 嵌入不再发送 (Discord.js)

python - 如何在 Discord.py 中获取用户的 ID

python - IO错误: [Errno 2] No such file or directory shutil

python - 使用 .agg(许多列)保留 groupby 之后的所有列更有效

python - Discord.py 模块 Python 3.6.4 踢功能

python - 在 Discord.py bot 中记录删除消息的人