"Выровняю спину даже верблюду!" 🐫
Бот-напоминалка для формирования здоровой привычки держать ровную осанку каждый день.
«Выпрями спину, гора!» — это Telegram-бот, который в течение дня ненавязчиво и с юмором напоминает выпрямить спину, расправить плечи и сделать полезную мини-разминку.
Полная концепция, лор, система рангов и база сообщений описаны в документе «Выпрями спину, гора.md».
- Платформа: .NET 10 (C# 12/13)
- Библиотека Telegram: Telegram.Bot v22.x
- База данных: PostgreSQL через Entity Framework Core (Npgsql)
- Логирование: Serilog
- Контейнеризация: Docker / Docker Compose
- Гибкий график:
- Выбор часового пояса (11 таймзон РФ + автоопределение).
- Выбор дней активности (ПН–ПТ, ПН–СБ, ПН–ВС).
- Настройка интервала любых 24 часов (пресеты или кастомный диапазон с поддержкой ночных смен).
- Динамическая генерация сообщений по редкостям:
- ⚪ Типикал (60%)
- 🔵 Редкий (20%)
- 🟢 Ниче такой (10%)
- 🟣 Эпичный (7%)
- 🟡 Легенда (3%) — упражнения, котики и редкие напоминалки.
- Лорная система рангов и скрытых достижений:
- Прогрессия:
🏔 Гора➡️🪵 Палка➡️🐈 Выпрямившийся котик➡️🏛 Античная колонна➡️🦾 Стальной хребет➡️⚡ Титан осанки➡️🌅 Великая Равнина. - Юбилейные карточки от команды создателей на 50, 100, 250, 500, 1000 и 2000 выпрямлений.
- Команда
/statsсо сводкой успехов.
- Прогрессия:
- Интерактивная обратная связь:
- Команда
/feedbackдля сбора оценок и предложений новых фраз с мгновенным оповещением админов.
- Команда
- Админ-панель и рассылки (
/admin):- Статистика пользователей в реальном времени, чтение отзывов и рассылка обновлений всем подписчикам.
/start— Запуск и онбординг/settings— Изменение таймзоны, дней и часов напоминаний/stats— Просмотр статистики, пойманных легендарок и ранга/feedback— Оставить отзыв или предложить фразу/admin— Панель администратора (статистика, отзывы, рассылка)/help— Справка о боте
-
Склонируйте репозиторий:
git clone <repo-url> cd NonStop.Posture.Bot
-
Укажите конфигурацию в
src/NonStop.Posture.Bot/appsettings.jsonили через переменные окружения. -
Запустите проект:
dotnet run --project src/NonStop.Posture.Bot
Подробное руководство по деплою и управлению ботом на сервере описано в docs/DEPLOY.md.
Кратко:
- Создайте
.envна основе примера:cp .env.example .env
- Заполните
BOT_TOKEN,ADMIN_CHAT_IDиPOSTGRES_PASSWORDв.env. - Запустите контейнеры:
docker compose up -d --build