UnboundLocalError в боте discord.py с системой монет - PullRequest
0 голосов
/ 11 января 2020

Каталог изменяется на папку с файлом JSON после импорта всего, например, discord, os, json, et c.

@client.command()
async def gift(ctx,*, member: discord.Member):
    with open('users.json', 'r') as f:
        users = json.load(users, f)

        await update_data(users, discord.member)
        await add_coin(users, discord.member, 1)

        with open('users.json', 'w') as f:
            users = json.dump(users, f)

async def update_data(users, user):
    if not user.id in users:
        users[user.id] = {}
        users[user.id]['coins'] = 0

async def add_coin(users, user, coin):
    users[user.id]['coins'] += coin
    await client.send(channel,'{} has {} coins'.format(user.id, coin))

Когда команда запущена, бот выдает ошибку:

UnboundLocalError: локальная переменная "users", на которую ссылаются до назначения.

1 Ответ

0 голосов
/ 11 января 2020

Поскольку Джайдип Шекхар ответил , на users ссылаются в вызове на json.load до его назначения.
json.load принимает только один позиционный аргумент, поэтому Вы хотите передать только указатель файла.

...