from telebot.types import CallbackQuery from telebot import TeleBot from app.bot.constants import UserStates from app.bot.keyboards.main_menu import get_main_menu from app.bot.states import UserStateManager def register_callback_cancel_input(bot: TeleBot, state_manager: UserStateManager): @bot.callback_query_handler(func=lambda call: call.data == "cancel_input") def handle_cancel_input(call: CallbackQuery): chat_id = call.message.chat.id message_id = call.message.message_id # Сброс состояния state_manager.set_state(chat_id, UserStates.MAIN_MENU) # Удаляем сообщение с кнопкой "Отмена" bot.delete_message(chat_id, message_id) bot.answer_callback_query(call.id) bot.clear_step_handler_by_chat_id(chat_id) # Отправляем главное меню bot.send_message(chat_id, "❌ Действие отменено.", reply_markup=get_main_menu())