Обработка Callback

В общем есть библиотека python-telegram-bot-calendar в ней указана функция и обработка callback'ом этой функции. Из-за машины состояний я не могу поймать callback, а тем более его обработать.

Помогите обработать callback и запихнуть его в машину состояний

Функция билда календаря это star_calendar, а callback - следующая. Так вот она не вызывается, тк не обрабатывается.

Ссылка на календарь: https://github.com/artembakhanov/python-telegram-bot-calendar

class Form(StatesGroup):    
    company_name        = State()
    date_in             = State()
    date_out            = State()
    working_day_in      = State()
    working_day_out     = State()
    CCNO                = State()
    purpose_of_the_trip = State()
    expense             = State()
    fare                = State()
    room_rate           = State()
    other_cost          = State()
    total               = State()
    current_date        = State()

async def star_calendar(dp, message):
    calendar, step = MyStyleCalendar(min_date=date.today(), max_date=date.today(), locale='ru').build()
    LSTEP = {'y': 'год', 'm': 'месяц', 'd': 'день'}
    await dp.bot.send_message(message.chat.id,
                    f"Выберите дату: {LSTEP[step]}",
                    reply_markup=calendar)

@dp.callback_query_handler(DetailedTelegramCalendar.func(),state=Form.date_in)
async def inline_kb_answer_callback_handler(query):
    result, key, step = MyStyleCalendar(min_date=date.today(), locale='ru').process(query.callback_data)
    LSTEP = {'y': 'год', 'm': 'месяц', 'd': 'день'}
    if not result and key:
        await dp.bot.edit_message_text(f"Выберите дату: {LSTEP[step]}",
                                    query.message.chat.id,
                                    query.message.message_id,
                                    reply_markup=key)
        
    elif result:
        await dp.bot.edit_message_text(f"Вы выбрали: {result}",
                                    query.message.chat.id,
                                    query.message.message_id)

#Заявление на командировачные расходы
@dp.message_handler(Text(equals='Командировочные расходы', ignore_case=True))
@dp.message_handler(commands=['enter_leave_other'])
async def enter_leaving_day(message):
    if db.check_auth(message.from_user.id):
        await message.answer('Выберите фирму в которой работаете: ', reply_markup = fix.company_name())
        await Form.company_name.set()
    else:
        await message.answer('Авторизуйтесь! /start')

# Добавляем возможность отмены, если пользователь передумал заполнять
@dp.message_handler(state='*', commands=['cancel'])
@dp.message_handler(Text(equals='отмена', ignore_case=True), state='*')
async def cancel_handler(message: types.Message, state: FSMContext):
    current_state = await state.get_state()
    if current_state is None:
        return await message.answer('Нечего отменять', reply_markup=types.ReplyKeyboardRemove(True))
    await state.finish()
    await message.answer('Заявка отменена', reply_markup=types.ReplyKeyboardRemove(True))


@dp.message_handler(lambda message: message.text not in  [], state=Form.company_name)
async def process_gender_invalid(message: types.Message):
    #await create_task(message)
    return await message.answer("Вы должны выбрать ответ с кнопок: '\nНажмите /cancel")

@dp.message_handler(state=Form.company_name)
async def process_name_task(message: types.Message, state: FSMContext):
    async with state.proxy() as data:
        data['company_name'] = message.text
    await message.answer('Выберите дату начала поездки', reply_markup=types.ReplyKeyboardRemove(True))
    await star_calendar(dp, message)

Ответы (0 шт):