查找消息的作者

新手上路,请多包涵

如果有人写“?name(arg)”我希望我的机器人说消息的作者+“,你的名字是”+ arg。不过 我找不到邮件的作者

 @client.command()
async def name(their_name):
    await client.say("{0}, your name is {1}.".format("""author of the message goes here""", their_name))

原文由 TRSI 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 346
2 个回答

要获取消息作者的姓名,您需要使用 上下文

@client.command(pass_context=True)
async def name(ctx):
    username = ctx.message.author.name
    ...

原文由 Sam Rockett 发布,翻译遵循 CC BY-SA 3.0 许可协议

您还可以使用 User.display_name ,这将尝试使用用户服务器特定的昵称,但如果找不到则回退到通用用户名:

 @client.command(pass_context=True)
async def name(ctx):
    username = ctx.message.author.display_name

原文由 Patrick Haugh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题