Skip to content

Вспомогательные инструменты (Helpers)

Хелперы в codex-bot — это набор утилит, предназначенных для упрощения типовых задач: работы с идентификаторами, безопасных операций с FSM и нормализации контекста запроса.

Мы разделяем хелперы на Публичные (для использования в вашем коде) и Внутренние (служебные инструменты библиотеки).


🛠 Публичные хелперы (Public API)

Эти инструменты вы можете импортировать и использовать в своих хендлерах или оркестраторах.

1. ID Inspector (codex_bot.helper.id_inspector)

Утилита для быстрого получения технических данных текущего контекста (User ID, Chat ID, Thread ID). - Применение: Отладка, настройка прав доступа, поиск ID каналов. - Использование:

from codex_bot.helper.id_inspector import inspect_ids_handler
router.message(Command("id"))(inspect_ids_handler)

2. State Helper (codex_bot.fsm.state_helper)

Низкоуровневая обертка над FSM aiogram для безопасных атомарных операций. - Применение: Работа с FSM вне стандартного BaseStateManager. - Особенности: Автоматически удаляет ключи из Redis, если значение None (защита от «зомби-словарей»).


🔒 Внутренние хелперы (Internal)

Эти инструменты используются ядром библиотеки (например, Директором), но вы также можете обращаться к ним при необходимости глубокой кастомизации.

1. Context Helper (codex_bot.helper.context_helper)

Отвечает за нормализацию данных из разных типов событий (Message, CallbackQuery). - Задача: Превратить любое событие в объект BaseBotContext с единым набором ID. - Применение: Используется в Middleware для подготовки данных для Директора.


🧭 Связанные компоненты

  • Director — использует ContextHelper для инициализации.
  • FSM — использует StateHelper для управления данными в Redis.