Skip to content

Repository files navigation

🏔 Выпрями спину, гора! (Telegram Bot)

image

https://t.me/NeSutulisBot

"Выровняю спину даже верблюду!" 🐫

Бот-напоминалка для формирования здоровой привычки держать ровную осанку каждый день.


📌 О проекте

«Выпрями спину, гора!» — это Telegram-бот, который в течение дня ненавязчиво и с юмором напоминает выпрямить спину, расправить плечи и сделать полезную мини-разминку.

Полная концепция, лор, система рангов и база сообщений описаны в документе «Выпрями спину, гора.md».


🛠 Технологический стек

  • Платформа: .NET 10 (C# 12/13)
  • Библиотека Telegram: Telegram.Bot v22.x
  • База данных: PostgreSQL через Entity Framework Core (Npgsql)
  • Логирование: Serilog
  • Контейнеризация: Docker / Docker Compose

🚀 Основные возможности

  1. Гибкий график:
    • Выбор часового пояса (11 таймзон РФ + автоопределение).
    • Выбор дней активности (ПН–ПТ, ПН–СБ, ПН–ВС).
    • Настройка интервала любых 24 часов (пресеты или кастомный диапазон с поддержкой ночных смен).
  2. Динамическая генерация сообщений по редкостям:
    • Типикал (60%)
    • 🔵 Редкий (20%)
    • 🟢 Ниче такой (10%)
    • 🟣 Эпичный (7%)
    • 🟡 Легенда (3%) — упражнения, котики и редкие напоминалки.
  3. Лорная система рангов и скрытых достижений:
    • Прогрессия: 🏔 Гора ➡️ 🪵 Палка ➡️ 🐈 Выпрямившийся котик ➡️ 🏛 Античная колонна ➡️ 🦾 Стальной хребет ➡️ ⚡ Титан осанки ➡️ 🌅 Великая Равнина.
    • Юбилейные карточки от команды создателей на 50, 100, 250, 500, 1000 и 2000 выпрямлений.
    • Команда /stats со сводкой успехов.
  4. Интерактивная обратная связь:
    • Команда /feedback для сбора оценок и предложений новых фраз с мгновенным оповещением админов.
  5. Админ-панель и рассылки (/admin):
    • Статистика пользователей в реальном времени, чтение отзывов и рассылка обновлений всем подписчикам.

⚙️ Команды бота

  • /start — Запуск и онбординг
  • /settings — Изменение таймзоны, дней и часов напоминаний
  • /stats — Просмотр статистики, пойманных легендарок и ранга
  • /feedback — Оставить отзыв или предложить фразу
  • /admin — Панель администратора (статистика, отзывы, рассылка)
  • /help — Справка о боте

💻 Локальный запуск

  1. Склонируйте репозиторий:

    git clone <repo-url>
    cd NonStop.Posture.Bot
  2. Укажите конфигурацию в src/NonStop.Posture.Bot/appsettings.json или через переменные окружения.

  3. Запустите проект:

    dotnet run --project src/NonStop.Posture.Bot

🐳 Запуск через Docker Compose (Production)

Подробное руководство по деплою и управлению ботом на сервере описано в docs/DEPLOY.md.

Кратко:

  1. Создайте .env на основе примера:
    cp .env.example .env
  2. Заполните BOT_TOKEN, ADMIN_CHAT_ID и POSTGRES_PASSWORD в .env.
  3. Запустите контейнеры:
    docker compose up -d --build

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages