Python 我得到了KeyError:';563690668808208423';当我';我正在尝试向用户添加exp
我收到KeyError:'563690668808208423',当用户使用命令时,我试图向用户添加expPython 我得到了KeyError:';563690668808208423';当我';我正在尝试向用户添加exp,python,json,discord,Python,Json,Discord,我收到KeyError:'563690668808208423',当用户使用命令时,我试图向用户添加exp @bot.command(pass_context=True) async def work(ctx): with open('data.json','r+', encoding = 'utf-8') as f: kingdom = json.load(f) if str(kingdom[str(ctx.author.id)]['job']) == &qu
@bot.command(pass_context=True)
async def work(ctx):
with open('data.json','r+', encoding = 'utf-8') as f:
kingdom = json.load(f)
if str(kingdom[str(ctx.author.id)]['job']) == "Cleaner":
await add_experience(kingdom, ctx.author ,10)
await ctx.send('Вы отлично поработали')
我使用json文件作为数据库:
{"563690668808208423": {"experience": 0, "level": 1, "job": "Cleaner"},
"517371726720532511": {"experience": 0, "level": 1, "job": "Cleaner"}}
563690668808208423是我的ID您只需将其更改为以下内容:
async def add_experience(users, user, exp):
users[str(user.id)]['experience'] += exp
用户返回的id作为int(整数)返回,因此您必须先将其更改为字符串是否可以在此处打印错误消息?添加到JSON文件后,您需要在JSON文件中再次写入体验
async def add_experience(users, user, exp):
users[str(user.id)]['experience'] += exp