2.5 KiB
2.5 KiB
Session Status Bot
Бот на aiogram 3 для управления статусами актеров и обновления одного поста в канале.
Что умеет
- показывает пользователю только его кнопку актера
- после выбора актера сразу дает один экран кнопок:
Открыть,Закулисье,Задержка,Антракт,Своя фраза - статусы применяются сразу с шаблонной фразой
Своя фразаменяет текст для текущего статуса- обновляет сообщение канала в
MarkdownV2 - умеет хранить шаблон поста через
/post
Команды
/startили/panel— открыть панель/help— справка/refresh— перерисовать пост в канале/cancel— сбросить текущий ввод/post— сохранить шаблон поста
Шаблон поста
Шаблон должен содержать:
{{actors}}— сюда бот вставляет блок актеров{{hidden_link}}— необязательно, сюда бот вставляет скрытую ссылку для превью
Если {{hidden_link}} не указан, но в config/actors.json заполнен hidden_link_url, бот добавит скрытую ссылку в начало сам.
Важно: если просто переслать уже оформленный Telegram-пост, Telegram не гарантирует точное восстановление исходного MarkdownV2. Надежнее отправлять шаблон как обычный текст или реплаем на текстовый пост.
Настройка
- Установить зависимости:
uv sync
-
Заполнить
.env. -
Проверить config/actors.json:
hidden_link_url— ссылка для скрытого превьюphrases— шаблонные фразы под статусыoperator_user_idилиoperator_user_ids— кто может менять статус
Запуск
uv run python main.py
Проверка
uv run --with pytest python -m pytest