есть код:
from aiogram import Bot, Dispatcher, executor, types
from aiogram.dispatcher import FSMContext
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from aiogram.dispatcher.filters.state import State, StatesGroup
storage = MemoryStorage()
bot = Bot(token=config.bot_token)
dp = Dispatcher(bot, storage=storage)
class hi(StatesGroup):
hello = State()
@dp.message_handler(commands='start')
async def start(message: types.Message):
repl = InlineKeyboardMarkup(row_width=1).add(InlineKeyboardButton(text='Cancel', callback_data='Cancel'))
await bot.send_message(message.from_user.id, 'how are you?', reply_markup=repl)
await hi.hello.set()
@dp.message_handler(state=hi.hello)
async def efe(message: types.Message, state: FSMContext):
await bot.send_message(message.from_user.id, f'me too {message.text}')
await state.finish()
@dp.callback_query_handler(text='Cancel')
async def ponn(message: types.CallbackQuery, state: FSMContext):
await state.finish()
await bot.send_message(message.from_user.id, f'Canceled')
код должен по команде старт ждать от пользователя текст, и потом выводить его. но если во время когда бот ждал текст, будет нажата инлайн кнопка то бот прекратит ждать текст и выведет сообщение что он перестал ждать текст. Проблема в том что бот просто не находит калбэк хандлер инлайн кнопки. как это можно исправить?