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

时间:2017-05-22 02:56:06

标签: python discord discord.py

这可能是一个愚蠢的问题,但我真的需要这个想法。我正在研究机器人和DM频道之间的接口。我目前的代码是:

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向用户发送消息。任何帮助,以及奖励积分,如何捕捉响应?

3 个答案:

答案 0 :(得分:2)

从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)

答案 1 :(得分:0)

你累了吗:

client.start_private_message(user)

答案 2 :(得分:0)

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

STATIC_ROOT = os.path.normpath(os.path.join(BASE_DIR, 'staticfiles'))
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)