Почему в цикле while не работают инлайн кнопки?
Пишу Телеграмм бота на aiogram и столкнулся с такой проблемой: При работе с циклом while
и с использованием в нем команды time.sleep()
, не срабатывают инлайн кнопки.
@dp.message_handler(state=task1.task1_1)
async def f_task1_1(msg: types.Message, state: FSMContext):
async with state.proxy() as data_task:
data_task['task1_1'] = msg.text
con_data_task = await state.get_data()
global task1_1
task1_1 = con_data_task.get('task1_1')
done_task1_1 = False
done1_1 = types.InlineKeyboardMarkup()
done1_1.add(types.InlineKeyboardButton('Сделал', callback_data='done1_1'))
while done_task1_1 == False:
await bot.send_message(ID_us1, task1_1, reply_markup=done1_1)
time.sleep(5)
И вот тот самый callback:
@dp.callback_query_handler()
async def callback(call):
if call.data == 'done1_1':
done_task1_1 = True
Источник: Stack Overflow на русском