Помогите исправить ошибку в коде, что бы кнопка возвращения на предыдущее действие работала без проблем

Ошибка: RuntimeWarning: coroutine 'inline' was never awaited. handle = None # Needed to break cycles when an exception occurs. RuntimeWarning: Enable tracemalloc to get the object allocation traceback. Код:

@dp.message_handler(commands=['buy'])
async def inline(message: types.Message):
    section = InlineKeyboardMarkup()
    sec1 = InlineKeyboardButton(text='Раздел 1', callback_data='sec1')
    sec2 = InlineKeyboardButton(text='Раздел 2', callback_data='sec2')
    sec3 = InlineKeyboardButton(text='Раздел 3', callback_data='sec3')
    section.add(sec1, sec2, sec3)
    await message.reply(MESSAGES['raa'], reply_markup=section)


@dp.callback_query_handler(lambda a: True)
async def inline_a(a):
    if a.data == 'sec1':
        product1 = InlineKeyboardMarkup()
        pr1 = InlineKeyboardButton(text='Товар 1', callback_data='pr1')
        pr2 = InlineKeyboardButton(text='Товар 2', callback_data='pr2')
        pr3 = InlineKeyboardButton(text='Товар 3', callback_data='pr3')
        back = InlineKeyboardButton(text='<--Назад', callback_data='back')
        product1.add(pr1, pr2, pr3, back)
        await bot.send_message(a.message.chat.id, MESSAGES['ra9'], reply_markup=product1)
    elif a.data == 'back':
        return inline(a.message)

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

Автор решения: MyZik

Ваша функция inline() асинхронная, перед вызовом такой функции указывается оператор await.

Вместо return inline(a.message) используйте return await inline(a.message)

→ Ссылка