@IgraMagaYT
Программирую на python,php,html,javascript

У меня есть код бонус и когда я его пишу у меня выходит ошибка что делать?

Я пишу код на discord.py и я сделал себе код бонус с помощью json файлов и у меня выходит ошибка.
Код:

@bot.command()
async def bonus(ctx):
    with open ['economy.json','read'] as f:
        money = json.load(f)

    if not str(ctx.author.id) in money:
      money[str(ctx.author.id)] = {}
      money[str(ctx.author.id)][Money] = 0

      if not str(ctx.author.id) in queue:
        emded = discord.Embed(description = '**{ctx.author.id}** Вы получили свои **5000**' )
        await ctx.send(embed = embed)
        money[str(ctx.author.id)][Money] += 5000
        queue.append(str(ctx.author.id))
        with open['economy.json',r] as f:
            json.dump(money,f)
        await asyncio.sleep(24*60)
        queue.remove(str(ctx.author.id))
      if str(ctx.author.id) in queue:
        emded = discord.Embed(description = '**{ctx.author.id}** Вы уже  получили свои **5000**' )
        await ctx.send(embed = embed)

И я добавил очередь, но у меня выходит ошибка при написании кмд:

File "C:\Users\263\Desktop\BotTest\main.py", line 65, in bonus
    with open ['economy.json','read'] as f:
TypeError: 'builtin_function_or_method' object is not subscriptable
  • Вопрос задан
  • 95 просмотров
Решения вопроса 2
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Это with open['economy.json',r] as f:
замените на это with open('economy.json','r') as f:

Код не отформатирован, поэтому дальше не смотрел.
Почитайте про контекстный менеджер.
Ответ написан
@alexbprofit
Junior SE
with open ('economy.json','read') as f:

вместо квадратных скобок поставьте круглые, т.е квадратные скобки это индекс элемента списка, а у вас функция
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@UberPool
Python/JS coder
Вы не правильно используйте with open.
Замените квадратные скобки на круглые.
Подробнее об with open().
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы