【发布时间】:2020-05-02 11:43:03
【问题描述】:
我觉得这个问题的标题让整个事情变得更加混乱。但这里是它的长篇:
我有一个机器人,它使用 .JSON 文件来存储用户在创建时放入其中的信息。但是,为了确保他们正在创建一个且仅一个文件,我已将其与他们的唯一 ID 绑定。这确保了即使用户更改昵称,他也只能为自己创建一个文件。当然,后台的.JSON文件,会被命名为'123456789.txt'。
这已成功完成,但我想添加机器人命令,允许其他用户获取存储在该用户文件中的信息。因此,例如:如果 Joe 想查看 Ned 最喜欢的颜色是什么,他可以使用如下简单的命令:
!favcolor Ned
机器人会细化 Ned 的 .JSON 文件 (123456789.txt),查找键“color”下存储的值,并打印出结果。
问题不在于我找不到人们的用户 ID (ctx.message.author.id)。问题是我不知道如何让其他人这样做,因为据我所知,没有办法确保当有人在 '!favcolor' 和 'Ned' 之前,机器人会找到123456789.txt。
目前我能想到的唯一解决方案是在创建一个获取用户唯一 ID 的文件时维护一个 .JSON 文件,然后将其与用户名配对。比如:
{
"Ned": "123456789"
"Joe": "234567891"
"Sam": "345678912"
}
等等。然后它只查看那个 JSON,并获取正确的 ID。这是一个好方法吗?还是我错过了 discord.py 中已经内置的更简单的东西?
【问题讨论】:
-
会员转换器能满足您的需求吗? discordpy.readthedocs.io/en/latest/ext/commands/…
标签: python json python-3.x discord.py