Я пытался заставить своего бота добавить опыт в мой JSON-файл, но он заменяет только то, какое значение опыта есть.
Я пытался проверить, что все перенесено из асинхронного в перезаписываемый иизменение значений, чтобы они не действовали как функции
import discord
import json
import os
from discord.ext import commands
TOKEN = 'TOKEN'
client = commands.Bot(command_prefix = '.')
os.chdir(r"D:\Discord Server")
@client.event
async def on_ready():
print('Bot online')
@client.event
async def on_member_join(member):
with open('users.json', 'r') as f:
users = json.load(f)
await update_data(users,member)
with open('users.json', 'w') as f:
json.dump(users,f)
@client.event
async def on_message(message):
with open('users.json', 'r') as f:
users = json.load(f)
await update_data(users, message.author)
await add_experience(users, message.author,10)
with open('users.json','w') as f:
json.dump(users,f)
async def update_data(users, user):
if not user.id in users:
users[user.id] = {}
users[user.id]['experience'] = 0
async def add_experience(users,user,exp):
users[user.id]['experience'] += exp
client.run(TOKEN)
Я хочу просто добавить очки опыта в существующий файл