我希望我的机器人使用像这样的命令 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)
提前致谢。
答案 0 :(得分:1)
您正从 Discord 传入 userid
,这意味着它将是一个 string
。 get_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
。
友好的提醒,尽管说“它引发了错误”对我们找出您的问题毫无帮助。以后将错误的回溯添加到您的帖子中。