Бот запускается и показывает главное меню из четырёх разделов (заглушки) + «Участники» для админа; навигация «Назад»/«Отмена» редактирует сообщение на месте. Конфиг типизирован, тексты в config/texts.yaml, healthcheck контейнера, JSON-логи. Доступ — только ADMIN_IDS до приглашений (#25).
## Что меняется
Бот запускается и показывает главное меню из четырёх разделов (заглушки) + «Участники» для админа; навигация «Назад»/«Отмена» редактирует сообщение на месте. Конфиг типизирован, тексты в `config/texts.yaml`, healthcheck контейнера, JSON-логи. Доступ — только `ADMIN_IDS` до приглашений (#25).
Closes #4
## Как проверить
```bash
make lint && make test # 20 тестов
# вживую: TELEGRAM_BOT_TOKEN и ADMIN_IDS в .env
make up && make logs # «tgit 0.1.0 starting…», «Start polling»
```
В Telegram: `/start` с админского аккаунта → меню; с другого → «Доступ только по приглашению», дальше тишина.
## Заметки
- FSM в БД перенесён в #5 (там появляется БД).
- Живой прогон в Telegram — после появления токена бота.
## Чек-лист
- [x] ветка от origin/dev
- [x] lint + тесты зелёные
- [x] секретов в диффе нет
- [x] лог в issue дописан
🤖 Generated with [Claude Code](https://claude.com/claude-code)
- config: pydantic-settings по подсистемам, ADMIN_IDS через запятую
- texts.yaml + валидация при старте (лишний/пропущенный ключ — ошибка сразу)
- меню: reply-клавиатура разделов (Участники — только админам), инлайн «Назад»/«Отмена»
с редактированием сообщения на месте, /start, /menu, /help
- AccessMiddleware (outer) на сообщениях и кнопках: до #25 пускает только ADMIN_IDS,
постороннему — одна фраза в сутки, устаревшие кнопки молча гасятся
- heartbeat-файл + HEALTHCHECK в Dockerfile; JSON-логи
- FSM пока в памяти (фабрика), хранилище в БД — в #5
- тесты на фейковой сессии aiogram через настоящий Dispatcher
Refs #4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Что меняется
Бот запускается и показывает главное меню из четырёх разделов (заглушки) + «Участники» для админа; навигация «Назад»/«Отмена» редактирует сообщение на месте. Конфиг типизирован, тексты в
config/texts.yaml, healthcheck контейнера, JSON-логи. Доступ — толькоADMIN_IDSдо приглашений (#25).Closes #4
Как проверить
В Telegram:
/startс админского аккаунта → меню; с другого → «Доступ только по приглашению», дальше тишина.Заметки
Чек-лист
🤖 Generated with Claude Code