Справка по API: Логика Telegram-бота¶
Этот раздел описывает модули, отвечающие за работу самого Telegram-бота, его интерфейс и взаимодействие с пользователем.
Обработчики команд (Routers)¶
Каждый модуль-роутер отвечает за логику, связанную с нажатием определенной кнопки в меню.
- class denoise_bot.routers.start.ButtonText[исходный код]¶
Текст кнопочек в телеграмме
- async denoise_bot.routers.start.command_start(message: Message, state: FSMContext, supabase_client: SyncClient) None [исходный код]¶
Обработка команды /start - сначала выбор языка.
- denoise_bot.routers.start.language_buttons() InlineKeyboardMarkup [исходный код]¶
Показ кнопок выбора языка (инлайн клавиатура)
Inline-клавиатура для основного меню
- async denoise_bot.routers.start.process_language_selection(callback: CallbackQuery, state: FSMContext, supabase_client: SyncClient)[исходный код]¶
Обработка выбора языка.
- denoise_bot.routers.start.set_locale(locale_name)[исходный код]¶
Set locale for particular user.
Показ главного меню по текстовому сообщению от пользователя.
- async denoise_bot.routers.remove_noise_button.handle_remove_noise(callback: CallbackQuery, state: FSMContext) None [исходный код]¶
Удалить шум с изображения, начало обработки.
- async denoise_bot.routers.remove_noise_button.process_received_image(message: Message, state: FSMContext, supabase_client: SyncClient) None [исходный код]¶
Обрабатывает полученное изображение (фото или файл).
Скачивает изображение, запускает ML-пайплайн для восстановления, сохраняет результат в Supabase и отправляет его пользователю.
- async denoise_bot.routers.generate_image_button.generate_image_from_text(message: Message, state: FSMContext, supabase_client: SyncClient) None [исходный код]¶
Генерация изображения по тексту через API.
- async denoise_bot.routers.generate_image_button.handle_generate_image(callback: CallbackQuery, state: FSMContext) None [исходный код]¶
Обработка нажатия кнопки генерации изображения.
- async denoise_bot.routers.view_history_button.handle_exit_history(callback: CallbackQuery, state: FSMContext)[исходный код]¶
Выход из режима просмотра истории
- async denoise_bot.routers.view_history_button.handle_history_select(callback: CallbackQuery, state: FSMContext)[исходный код]¶
Показать выбранное изображение из истории
- async denoise_bot.routers.view_history_button.handle_view_history(callback: CallbackQuery, state: FSMContext, supabase_client: SyncClient)[исходный код]¶
Показать историю запросов пользователя
- async denoise_bot.routers.view_history_button.return_to_history_list(callback: CallbackQuery, state: FSMContext, supabase_client: SyncClient)[исходный код]¶
Возврат к полному списку истории, вызывая исходную функцию
- async denoise_bot.routers.magic_button.handle_magic_button(callback: CallbackQuery, state: FSMContext) None [исходный код]¶
Обработчик нажатия на кнопку - отправляет котиков сразу
Интерфейс и состояния¶
Модули, определяющие внешний вид кнопок и состояния конечного автомата (FSM) для управления диалогом.
- class denoise_bot.routers.button_states.DelNoise_States[исходный код]¶
Состояния кнопки удалить шум
- class denoise_bot.routers.button_states.Form[исходный код]¶
Состояния кнопки старт
- class denoise_bot.routers.button_states.GenImage_States[исходный код]¶
Состояния кнопки для генерации картинки
- class denoise_bot.routers.button_states.History[исходный код]¶
Состояния кнопки для просмотра истории
Локализация¶
Модуль, содержащий строки для разных языков.