问题实际上出在标题上 - 当您按下课程按钮(实际上是任何内联按钮,但我们以这个按钮为例)时,它会闪烁 20 秒,然后停止。
问题是:怎样才能让按钮发挥其功能而不溢出呢?
与内联键盘相关的代码:
# курсовая
kurs_button = InlineKeyboardButton(
text='Курсовая',
callback_data='kurs_button'
)
# диплом
diplom_button = InlineKeyboardButton(
text='Диплом',
callback_data='dipl_button'
)
# реферат
ref_button = InlineKeyboardButton(
text='Реферат',
callback_data='ref_button'
)
# научная статья
science_button = InlineKeyboardButton(
text='Науч. статья',
callback_data='science_button'
)
service_kb = InlineKeyboardMarkup(inline_keyboard=[[kurs_button, diplom_button, ref_button, science_button], [cancel_button]])
与按钮本身关联的代码:
# вопрос про тему
@router.callback_query(lambda c: c.data == 'kurs_button', StateFilter(Universal.choice))
async def choose_kurs(callback_query: types.CallbackQuery, state: FSMContext):
global TOTAL
TOTAL = 1500
await callback_query.message.answer('Вы выбрали курсовую работу, пожалуйста ответьте на несколько вопросов, чтобы мы могли оценить вашу работу\n')
await fill_theme(callback_query, state)
async def fill_theme(callback_query: types.CallbackQuery, state: FSMContext):
await callback_query.message.answer('Напишите тему вашей курсовой.', reply_markup=cancel_kb)
await state.set_state(KursStates.theme) # установления состояния "Тема"
原则上,一切正常,但具体来说,这种输血需要被移除。

电报客户端正在等待机器人处理按钮单击事件的确认。如果未发生确认,按钮将继续“动画”,直到从机器人收到任何新事件。
一般来说,如果你打开文档:你可以读到它
await callback_query.answer()可以不带参数发送,这实际上会发出按钮单击事件已被处理的信号。