@lamernoob

Telegram server says — Bad Request: can't parse inline keyboard button: Text buttons are unallowed in the inline keyboard?

Долгое время работаю с aiogram, однако данная проблема поставила в тупик. При вызове хендлера subscribe_confirm получаю ошибку Bad Request: can't parse inline keyboard button: Text buttons are unallowed in the inline keyboard, вроде callback_data в кнопках есть, не могу понять, что не так.
Код хендлера:
@router.callback_query(SubscriptionCallback.filter(F.action == "confirm"))
async def subscribe_confirm(call: CallbackQuery, callback_data: SubscriptionCallback):
    period = "навсегда" if callback_data.period == 0 else f"на {callback_data.period} месяц(а/ев)"
    await call.message.edit_text(text=f"Вы уверены, что хотите приобрести подписку сроком {period}?",
                                 reply_markup=confirm_subscribe_kb(callback_data.period, callback_data.call_from))
    await call.answer()

Код клаивиатуры:
def confirm_subscribe_kb(period: int, call_from: str):
    keyboard = InlineKeyboardMarkup(row_width=2,
                                    inline_keyboard=[
                                        [
                                            InlineKeyboardButton(text="✅ Да",
                                                                 callback_data=SubscriptionCallback(
                                                                     action="subscribe",
                                                                     period=period,
                                                                     call_from=call_from).pack()),
                                            InlineKeyboardButton(text="❌ Нет",
                                                                 сallback_data=SubscriptionCallback(
                                                                     action="choose_period",
                                                                     call_from=call_from).pack())
                                        ]
                                    ])
    return keyboard
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
@lamernoob Автор вопроса
Проблема была, в том, что в сallback_data была русская буква c в начале. Будьте с этим внимательны
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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