Ошибка добавления пользователя в бд сервера json файла
Я создаю дискорд бота для множества серверов. В боте есть система уровней и экономики. Начал писать экономику. Столкнулся с проблемой написания кода добавления пользователя по айди в бд. Код команды на добавление пользователя в бд:
async def add(ctx, mem: discord.Member):
with open("servers.json", "r") as f:
data = json.load(f)
lang = data[str(ctx.message.guild.id)]['oth']['lang']
users = data[str(ctx.message.guild.id)]['eco']['users']
userid = data[str(ctx.message.guild.id)]['eco']['users'][str(mem.id)]
if str(ctx.message.guild.id) in data:
if lang == 'ru':
data[str(ctx.message.guild.id)]['eco']['users'].append({str(mem.id):{}})
with open("servers.json", "w") as f:
json.dump(data, f, sort_keys=True, indent=4)
await ctx.send('Success')
else:
await ctx.send('Language error')
else:
await ctx.send('This server is not in the database')
Файл json:
"988095856215461928": {
"cd": {
"ban": 60,
"casino": 10,
"fifty": 10,
"mute": 10,
"rob": 3600,
"unban": 60,
"unmute": 10,
"unwarn": 10,
"warn": 10,
"work": 3600
},
"eco": {
"eco_emoji": ":coin:",
"shop": {
"id": {
"cost": 100,
"name": "",
"role_id": ""
}
},
"users": {
"459007192276795393": {
"bank": 0,
"inv": {},
"money": 0
}
}
},
"oth": {
"lang": "ru"
},
"pay": {
"eco1": "false",
"eco2": "false",
"extra": "false",
"logs": "false"
},
"roles": {
"muterole": "None"
}
}
}
При попытке добавить пользователя, выскакивает эта ошибка:
Command raised an exception: KeyError: '988839445392408616'
В json файле есть только я, в коде бота есть команда на добавление сервера в бд, при использовании команды в файл добавляюсь я, но при использовании команды на добавление другого пользователя возникают проблемы. Как можно сделать команду на добавление пользователя в бд экономики?