Telegram бот для личной рефлексии. Записывайте мысли и переживания в течение недели, а каждое воскресенье получайте структурированный AI-анализ.
Бот позволяет пользователям вести дневник мыслей прямо в Telegram. Каждое воскресенье в 12:00 МСК бот автоматически анализирует записи через Groq API (модель llama-3.3-70b-versatile) и отправляет подробный отчёт с анализом эмоций, триггеров и практическими советами.
- Запись мыслей — просто отправьте текстовое сообщение боту в любой момент
- Автоматический отчёт — каждое воскресенье в 12:00 МСК
- Ручной отчёт — команда
/reportдля немедленного анализа - Мультипользовательский — работает с несколькими пользователями одновременно
- Основные темы недели
- Анализ эмоций
- Причины и триггеры
- Практические советы на следующую неделю
| Команда | Описание |
|---|---|
/start |
Регистрация и приветствие |
/help |
Справка по командам |
/report |
Получить отчёт за текущую неделю |
- Клонируйте репозиторий:
git clone <repo-url>
cd reflection-bot- Создайте виртуальное окружение и установите зависимости:
python -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
pip install -r requirements.txt- Создайте
.envфайл:
cp .env.example .env- Заполните переменные в
.env:
TG_TOKEN=ваш_токен_бота
ANTHROPIC_API_KEY=ваш_ключ_anthropic
- Запустите бота:
python main.py-
Создайте
.envфайл с вашими токенами (см. выше) -
Запустите через docker-compose:
docker-compose up -dSQLite база данных хранится в volume ./data/bot.db.
| Переменная | Описание |
|---|---|
TG_TOKEN |
Токен Telegram бота (от @BotFather) |
GROQ_API_KEY |
API ключ Groq (llama-3.3-70b-versatile) |
reflection-bot/
├── .env # Конфигурация (не коммитить!)
├── .env.example # Пример конфигурации
├── requirements.txt
├── README.md
├── main.py # Entry point
├── bot/
│ ├── handlers/
│ │ ├── commands.py # /start, /help, /report
│ │ └── entries.py # Сохранение текстовых сообщений
│ └── scheduler.py # APScheduler — воскресный отчёт
├── database/
│ ├── connection.py # Инициализация БД
│ └── queries.py # CRUD операции
├── ai/
│ └── analyzer.py # Claude API — генерация отчёта
├── data/ # SQLite файл (создаётся автоматически)
├── Dockerfile
├── docker-compose.yml
└── .github/
└── workflows/
└── deploy.yml # CI/CD
Настройте следующие секреты в репозитории GitHub:
| Secret | Описание |
|---|---|
SERVER_HOST |
IP-адрес или домен сервера |
SERVER_USER |
Пользователь SSH |
SSH_PRIVATE_KEY |
Приватный SSH ключ |
При каждом push в ветку main происходит автоматический деплой на сервер.
# Проверить записи в БД
sqlite3 data/bot.db "SELECT * FROM entries;"
# Проверить пользователей
sqlite3 data/bot.db "SELECT * FROM users;"