@alexdem123
Начинающий Web-Developer. Программист на Pythone!

TypeError в Aiogram, как решить?

Практикуюсь просто

Вот файл callbac`a, где используется данная ф-ция:
@router.callback_query(F.data == 'top_up')
async def top_up(callback : types.CallbackQuery, message : types.Message):
    await callback.message.delete()

    #callback.from_user.id, callback.message.message_id

    await message.answer(callback.from_user.id, 'Введите сумму для пополнения:')


Вот код markup`ов :
from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup



topUpMenu = InlineKeyboardMarkup(inline_keyboard=[
    [
        InlineKeyboardButton(text='Пополнить', callback_data='top_up')
    ]
])


Выдает ошибку :
TypeError: top_up() missing 1 required positional argument: 'message'
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
febday
@febday
Хэндлер не может принимать два вида сообщения сразу
Ваша ошибка в том, что вы используете handler callback_query для обработки нажатия клавиш и пытаетесь передавать два аргумента в функцию, хотя декоратор router.callback_query отдаёт лишь апдейд CallbackQuery, а никак не Message

Исправьте на:
@router.callback_query(F.data == 'top_up')
async def top_up(callback : types.CallbackQuery):


Да и ошибка вам об этом говорит в принципе понятно
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы