Ошибка экономики в discord.py

Мой код не работает, и выдаёт такую ошибку:

Traceback (most recent call last):
  File "/home/alex/.local/lib/python3.10/site-packages/discord/ext/commands/core.py", line 190, in wrapped
    ret = await coro(*args, **kwargs)
  File "/home/alex/Desktop/Storage/TESTbot/main.py", line 59, in баланс
    await open_account(ctx.author)
  File "/home/alex/Desktop/Storage/TESTbot/main.py", line 119, in open_account
    users = await get_bank_data()
  File "/home/alex/Desktop/Storage/TESTbot/main.py", line 141, in get_bank_data
    users = await get_bank_data()
  File "/home/alex/Desktop/Storage/TESTbot/main.py", line 141, in get_bank_data
    users = await get_bank_data()
  File "/home/alex/Desktop/Storage/TESTbot/main.py", line 141, in get_bank_data
    users = await get_bank_data()
  [Previous line repeated 980 more times]
RecursionError: maximum recursion depth exceeded

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/alex/.local/lib/python3.10/site-packages/discord/ext/commands/bot.py", line 1347, in invoke
    await ctx.command.invoke(ctx)
  File "/home/alex/.local/lib/python3.10/site-packages/discord/ext/commands/core.py", line 986, in invoke
    await injected(*ctx.args, **ctx.kwargs)  # type: ignore
  File "/home/alex/.local/lib/python3.10/site-packages/discord/ext/commands/core.py", line 199, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: RecursionError: maximum recursion depth exceeded

Если что я использую bot а не client. Мой код:

intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='-', intents=intents) #Префикс
#Начало
@bot.event
async def on_ready():
    print('Запущен бот: {0.user}'.format(bot))
    await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name='За ' + str(len(bot.guilds)) + ' серверами'))
    show("Бот запущенн!")
# Экономика
os.chdir("/home/alex/Desktop/Storage/TESTbot")
@commands.command()
async def баланс(ctx):
    await open_account(ctx.author)

    user = ctx.author

    users = await get_bank_data()

    red_gems = users[str(user.id)]["Красные кристаллы"]

    purple_gems = users[str(user.id)]["Фиолетовые кристаллы"]

    blue_gems = users[str(user.id)]["Голубые кристаллы"]

    orange_gems = users[str(user.id)]["Оранжевые кристаллы"]

    green_gems = users[str(user.id)]["Зелёные кристаллы"]

    coins = users[str(user.id)]["Монеты"]

    embedVar = discord.Embed(title=f"***Балланс пользователя {ctx.author.name}***", color=clr)
    embedVar.add_field(name="**Крассные кристаллы:**", value=red_gems)
    embedVar.add_field(name="**Фиолетовые кристаллы:**", value=purple_gems)
    embedVar.add_field(name="**Голубые кристаллы:**", value=blue_gems)
    embedVar.add_field(name="**Оранжевые кристаллы:**", value=orange_gems)
    embedVar.add_field(name="**Зелёные кристаллы:**", value=green_gems)
    embedVar.add_field(name="**Монеты:**", value=coins)
    await ctx.send(embed=embedVar)
bot.add_command(баланс)
@commands.command()
async def копать(ctx):
    await open_account(ctx.author)

    user = ctx.author

    users = await get_bank_data()

    users[str(user.id)]["Оранжевые кристаллы"]

    users[str(user.id)]["Зелёные кристаллы"]

    ranomminingorange = random.randrange(12)

    ranommininggreen = random.randrange(112)

    embedVar = discord.Embed(title="***Оповещение***", description="Вы выкопали:", color=clr)
    embedVar.add_field(name="**Зелёные кристаллы:**", value=ranommininggreen)
    embedVar.add_field(name="**Оранжевые кристаллы:**", value=ranomminingorange)

    await ctx.send(f"После усердного копания вы выкопали:")

    users[str(user.id)]["Оранжевые кристаллы"] += ranomminingorange

    users[str(user.id)]["Зелёные кристаллы"] += ranommininggreen

    with open("mainbank.json", "w") as f:
        json.dump(users,f)
bot.add_command(копать)
async def open_account(user):

    #user = ctx.author

    users = await get_bank_data()

    if str(user.id) in users:
        embedVar = discord.Embed(title="**Ошибка**", description="Вы уже зарегестрированны в системе экономики Ини Мини.", color=clr)
        await ctx.send(embed=embedVar)
    else:
        users[str(user.id)]["Пользователь"] = {}
        users[str(user.id)]["Красные кристаллы"] = 0
        users[str(user.id)]["Фиолетовые кристаллы"] = 0
        users[str(user.id)]["Голубые кристаллы"] = 10
        users[str(user.id)]["Оранжевые кристаллы"] = 0
        users[str(user.id)]["Зелёные кристаллы"] = 0
        users[str(user.id)]["Монеты"] = 100

    with open("mainbank.json", "w") as f:
        json.dump(users,f)
    return True

async def get_bank_data():
    users = await get_bank_data()
    with open("mainbank.json", "r") as f:
        json.dump(users,f)

Ответы (0 шт):