Предупреждение о времени выполнения: сопрограмма «update_bank» никогда не ожидалась ret = ожидание coro(*args, **kwargs) Предупреждение о времени выполнения: Включить трассировку

#python #discord #discord.py

Вопрос:

Я не знаю,что я делаю неправильно, чтобы получить эту ошибку…так как я ждал того, чего следовало ожидать, если только я этого не сделал, и я просто не могу этого видеть? Хотя в нем говорится, что он включен в функцию банка обновлений, когда я ее даже не использовал, и эта ошибка возникает только при использовании этой команды.

Вот код:

 async def use_this(user,item_name,amount,price = None):
    item_name = item_name.lower()
    name_ = None
    for item in mainshop:
        name = item["name"].lower()
        if name == item_name:
            name_ = name
            if price==None:
                price = 0* item["price"]
            break

    if name_ == None:
        return [False,1]

    cost = price*amount

    users = await get_bank_data()

    bal = await update_bank(user)


    try:
        index = 0
        t = None
        for thing in users[str(user.id)]["bag"]:
            n = thing["item"]
            if n == item_name:
                old_amt = thing["amount"]
                new_amt = old_amt - amount
                if new_amt < 0:
                    return [False,2]
                users[str(user.id)]["bag"][index]["amount"] = new_amt
                t = 1
                break
            index =1 
        if t == None:
            return [False,3]
    except:
        return [False,3]    

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

    await update_bank(user,cost,"wallet")

    return [True,"Worked"]


@client.command()
async def hunt(ctx,item = ['rifle','Rifle'],amount = 1):
    user = ctx.author
    users = await get_bank_data()
    res = await use_this(ctx.author,item,amount)

     
    rifle = "rifle"
    if amount > 1:
        await ctx.reply("You cant use multiple rifles,it would be too heavy for you!")
    elif item == "rifle":
        res = await use_this(ctx.author,item,amount)
    if not res[0]:
        if res[1]==1:
            await ctx.reply(f"{ctx.author.mention} That Object isn't there!")
            return
        if res[1]==2:
            await ctx.reply(f"{ctx.author.mention} You don't have {amount} {item} in your bag.")
            return
        if res[1]==3:
            await ctx.reply(f"{ctx.author.mention} You don't have {item} in your bag.")
            return
        aninames = ['bear','rabbit','wolf']
        animals = random.choice(aninames)
        earnings = random.randrange(5000)
        await ctx.reply(f"You used hunted {animals} for {earnings} coins!,you lost the rifle in the process tho ..")```

 

Комментарии:

1. Не могли бы вы, пожалуйста, опубликовать полную обратную связь?

Ответ №1:

Попробуйте сделать

 import tracemalloc

tracemalloc.start()
 

затем вы должны получить полную обратную связь, чтобы вам
было легче помочь

Ответ №2:

Вам нужно добавить await в update_bank

Так что иди и сделай это:

 await update_bank(...)
 

Примечание: поместите внутрь все, что нужно, например ctx.author.

Когда вы увидите это

 update_bank(...)
 

Комментарии:

1. Его ждут повсюду…