Система опыта не добавляет опыта в файл JSON, а заменяет его - PullRequest
0 голосов
/ 28 апреля 2019

Я пытался заставить своего бота добавить опыт в мой 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)

Я хочу просто добавить очки опыта в существующий файл

...