我正在为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]
作为用户名来解决这个问题。
1条答案
按热度按时间j9per5c41#
我在之前尝试www.example.com时似乎出错了ctx.author,可能是我看不到的错别字。对于遇到此问题的其他人来说,解决方案是使用
ctx.author.username
,因为仅使用ctx.author
将返回命令的所有用户信息的元组,例如用户的数字ID。一个使用的示例是命令函数中的command_author = ctx.author.username
。