python-3.x 如何在光灯泡中获取SlashSubCommand的作者?

mklgxw1f  于 2023-04-13  发布在  Python
关注(0)|答案(1)|浏览(89)

我正在为discord bot中的一个游戏添加一个积分系统。游戏的代码是主AI聊天机器人的扩展文件的一部分,使用hikari和lightbulb作为事件处理程序。为了根据命令为每个玩家添加积分,它需要能够识别谁运行了命令,然后将用户名作为字典键追加,如果它不存在,以及将点值分配给该键的值,即points[username] += 1,但我找不到任何API答案或其他遇到此问题的人。我对hikari和lightbulb非常绿色,所以我完全不知道如何做到这一点。
最初我试图调用ctx.author,它返回了一个错误,ctx没有author的方法。我的第二次尝试是在函数中添加一个事件参数,即async def function_name(ctx, event),它返回一个错误,SlashSubCommand没有event的参数,这将通过使用event.author.strip('#')[0]作为用户名来解决这个问题。

j9per5c4

j9per5c41#

我在之前尝试www.example.com时似乎出错了ctx.author,可能是我看不到的错别字。对于遇到此问题的其他人来说,解决方案是使用ctx.author.username,因为仅使用ctx.author将返回命令的所有用户信息的元组,例如用户的数字ID。一个使用的示例是命令函数中的command_author = ctx.author.username

相关问题