Справка по 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[исходный код]

Показ кнопок выбора языка (инлайн клавиатура)

denoise_bot.routers.start.menu_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.start.show_main_menu(message: Message)[исходный код]

Показ главного меню по текстовому сообщению от пользователя.

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[исходный код]

Состояния кнопки для просмотра истории

Локализация

Модуль, содержащий строки для разных языков.