Files
Otkritiebot/README.md
Verum d8231c13a4
Some checks failed
CI / Lint (ruff + mypy) (push) Failing after 32s
CI / Run tests (push) Has been skipped
CI / Docker build test (push) Successful in 10s
post message
2026-04-02 20:59:04 +07:00

61 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Session Status Bot
Бот на `aiogram 3` для управления статусами актеров и обновления одного поста в канале.
## Что умеет
- показывает пользователю только его кнопку актера
- после выбора актера сразу дает один экран кнопок:
`Открыть`, `Закулисье`, `Задержка`, `Антракт`, `Своя фраза`
- статусы применяются сразу с шаблонной фразой
- `Своя фраза` меняет текст для текущего статуса
- обновляет сообщение канала в `MarkdownV2`
- умеет хранить шаблон поста через `/post`
## Команды
- `/start` или `/panel` — открыть панель
- `/help` — справка
- `/refresh` — перерисовать пост в канале
- `/cancel` — сбросить текущий ввод
- `/post` — сохранить шаблон поста
## Шаблон поста
Шаблон должен содержать:
- `{{actors}}` — сюда бот вставляет блок актеров
- `{{hidden_link}}` — необязательно, сюда бот вставляет скрытую ссылку для превью
Если `{{hidden_link}}` не указан, но в [config/actors.json](/c:/Users/admin/Desktop/pidoras/config/actors.json) заполнен `hidden_link_url`, бот добавит скрытую ссылку в начало сам.
Важно: если просто переслать уже оформленный Telegram-пост, Telegram не гарантирует точное восстановление исходного `MarkdownV2`. Надежнее отправлять шаблон как обычный текст или реплаем на текстовый пост.
## Настройка
1. Установить зависимости:
```powershell
uv sync
```
2. Заполнить `.env`.
3. Проверить [config/actors.json](/c:/Users/admin/Desktop/pidoras/config/actors.json):
- `hidden_link_url` — ссылка для скрытого превью
- `phrases` — шаблонные фразы под статусы
- `operator_user_id` или `operator_user_ids` — кто может менять статус
## Запуск
```powershell
uv run python main.py
```
## Проверка
```powershell
uv run --with pytest python -m pytest
```