Discord.py 使用用户 ID 向用户发送 DM

时间:2021-01-09 19:02:54

标签: python discord.py

我希望我的机器人使用像这样的命令 msg 向某个用户发送消息:!msg userid message 我正在使用此代码引发错误:

@client.command(name="msg", pass_context=True)
async def msg(context, userid, message):
    user = client.get_user(userid)
    await user.send(message)

提前致谢。

1 个答案:

答案 0 :(得分:1)

您正从 Discord 传入 userid,这意味着它将是一个 stringget_user 需要一个 int,因此您可以直接投射它。

user = client.get_user(int(userid))

您也可以为此使用转换器:

async def msg(context, user: discord.User, message):
    await user.send(message)

使用上面的 ^,Discord 将尝试自动获取您传递的 ID 并从中创建一个 discord.User 实例,因此您不必再使用 get_user

友好的提醒,尽管说“它引发了错误”对我们找出您的问题毫无帮助。以后将错误的回溯添加到您的帖子中。