Мой код для проверки, находится ли пользователь в таблице или нет:
@client.event
async def on_message(ctx):
id = ctx.author.id
with open('coins.json') as coins:
coinData = json.load(coins)
with open('shop.json') as shop:
shopData = json.load(shop)
await client.process_commands(ctx)
if id in coinData:
print('exists')
else:
coinData["players"][id] = 0
with open('coins.json', 'w') as coins:
json.dump(coinData, coins)
Файл JSON, который он читает:
{"players": {"325616103143505932": 0}}
Что происходит, когда кто-то отправляет message:
{"players": {"325616103143505932": 0, "325616103143505932": 0}}
И он не печатает «существует» в консоли, независимо от того, сколько сообщений отправляет человек, но он добавляет пару значений ключа только дважды.