No description
- Python 95.8%
- Dockerfile 4.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .gitea | ||
| config | ||
| session_bot | ||
| tests | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| alembic.ini | ||
| babel.cfg | ||
| cliff.toml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| main.py | ||
| pyproject.toml | ||
| pytest.ini | ||
| README.md | ||
| uv.lock | ||
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