Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Telegram Bot Configuration
TELEGRAM_TOKEN=8482833220:AAHfq8pv_jBNCoeljUBtP7rgMvb26dji1mw

# OpenAI API Configuration (опционально)
OPENAI_API_KEY=your_openai_api_key_here

# Database Configuration
DATABASE_PATH=habits_and_plans.db

# Timezone Configuration
TIMEZONE=Europe/Moscow
275 changes: 275 additions & 0 deletions DEPLOYMENT_MACOS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,275 @@
# 🍎 Развертывание на macOS

Инструкция по установке и настройке персонального ИИ помощника на macOS.

## 📋 Предварительные требования

### 1. Python 3.8+
```bash
# Проверьте версию Python
python3 --version

# Если Python не установлен, установите через Homebrew
brew install python3
```

### 2. Homebrew (если не установлен)
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

## 🚀 Установка

### 1. Клонирование репозитория
```bash
git clone <repository-url>
cd habit-tracker-bot
```

### 2. Создание виртуального окружения
```bash
# Создаем виртуальное окружение
python3 -m venv venv

# Активируем виртуальное окружение
source venv/bin/activate
```

### 3. Установка зависимостей
```bash
pip install --upgrade pip
pip install -r requirements.txt
```

### 4. Настройка переменных окружения
```bash
# Копируем пример конфигурации
cp .env.example .env

# Редактируем конфигурацию
nano .env
```

Настройте следующие переменные в `.env`:
```env
TELEGRAM_TOKEN=ваш_токен_бота
OPENAI_API_KEY=ваш_openai_api_ключ
DATABASE_PATH=habits_and_plans.db
TIMEZONE=Europe/Moscow
```

## 🤖 Создание Telegram бота

### 1. Создание бота через BotFather
1. Откройте Telegram и найдите [@BotFather](https://t.me/BotFather)
2. Отправьте команду `/newbot`
3. Введите имя для вашего бота (например: "Мой ИИ Помощник")
4. Введите username для бота (например: "my_ai_helper_bot")
5. Скопируйте полученный токен

### 2. Настройка бота
```bash
# Отправьте команды BotFather для настройки
/setdescription - Установите описание бота
/setabouttext - Установите информацию о боте
/setuserpic - Установите аватар бота
```

## 🔑 Получение OpenAI API ключа

### 1. Регистрация на OpenAI
1. Перейдите на [platform.openai.com](https://platform.openai.com/)
2. Зарегистрируйтесь или войдите в аккаунт
3. Перейдите в раздел "API Keys"
4. Создайте новый API ключ
5. Скопируйте ключ и добавьте в `.env`

## 🏃‍♂️ Запуск

### Быстрый запуск
```bash
python run.py
```

### Ручной запуск
```bash
# Активируем виртуальное окружение
source venv/bin/activate

# Инициализируем базу данных
python init_database.py

# Запускаем приложение
python main.py
```

## 🔧 Настройка автозапуска

### 1. Создание LaunchAgent (рекомендуется)
```bash
# Создаем директорию для агентов
mkdir -p ~/Library/LaunchAgents

# Создаем plist файл
cat > ~/Library/LaunchAgents/com.habittracker.bot.plist << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.habittracker.bot</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/python3</string>
<string>/path/to/your/habit-tracker-bot/main.py</string>
</array>
<key>WorkingDirectory</key>
<string>/path/to/your/habit-tracker-bot</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/path/to/your/habit-tracker-bot/bot.log</string>
<key>StandardErrorPath</key>
<string>/path/to/your/habit-tracker-bot/bot_error.log</string>
</dict>
</plist>
EOF

# Загружаем агент
launchctl load ~/Library/LaunchAgents/com.habittracker.bot.plist
```

### 2. Управление агентом
```bash
# Запуск
launchctl start com.habittracker.bot

# Остановка
launchctl stop com.habittracker.bot

# Выгрузка
launchctl unload ~/Library/LaunchAgents/com.habittracker.bot.plist
```

## 📱 Использование

### 1. Поиск бота в Telegram
1. Откройте Telegram
2. Найдите вашего бота по username
3. Нажмите "Start" или отправьте `/start`

### 2. Основные функции
- **📋 Мои привычки** - управление привычками
- **📅 Мои планы** - управление планами
- **➕ Создать привычку** - добавление новой привычки
- **➕ Создать план** - добавление нового плана
- **🤖 Поговорить с ИИ** - диалог с ИИ помощником
- **📊 Статистика** - просмотр статистики

## 🔍 Мониторинг

### Просмотр логов
```bash
# Основные логи
tail -f habit_tracker.log

# Логи агента
tail -f bot.log
tail -f bot_error.log
```

### Проверка статуса
```bash
# Проверка работы агента
launchctl list | grep habittracker

# Проверка процессов Python
ps aux | grep python | grep main.py
```

## 🛠️ Устранение неполадок

### Проблема: Бот не отвечает
```bash
# Проверьте токен в .env
cat .env | grep TELEGRAM_TOKEN

# Проверьте логи
tail -20 habit_tracker.log
```

### Проблема: Ошибки ИИ
```bash
# Проверьте API ключ OpenAI
cat .env | grep OPENAI_API_KEY

# Проверьте баланс на OpenAI
# Перейдите на platform.openai.com/usage
```

### Проблема: База данных
```bash
# Удалите и пересоздайте БД
rm habits_and_plans.db
python init_database.py
```

## 🔄 Обновление

```bash
# Остановите бота
launchctl stop com.habittracker.bot

# Обновите код
git pull origin main

# Установите новые зависимости
pip install -r requirements.txt

# Запустите бота
launchctl start com.habittracker.bot
```

## 📊 Резервное копирование

### Создание бэкапа
```bash
# Создаем архив с данными
tar -czf habit_tracker_backup_$(date +%Y%m%d).tar.gz \
habits_and_plans.db \
ai_memory.json \
.env \
habit_tracker.log
```

### Восстановление из бэкапа
```bash
# Распаковываем архив
tar -xzf habit_tracker_backup_YYYYMMDD.tar.gz

# Перезапускаем бота
launchctl restart com.habittracker.bot
```

## 🎯 Дополнительные настройки

### Настройка времени напоминаний
Отредактируйте файл `notification_system.py`:
```python
# Измените время напоминаний
schedule.every().day.at("04:20").do(self._send_morning_reminder)
schedule.every().day.at("17:00").do(self._send_evening_reminder)
schedule.every().day.at("18:00").do(self._send_polish_lesson_reminder)
```

### Настройка часового пояса
В файле `.env`:
```env
TIMEZONE=Europe/Moscow # Измените на ваш часовой пояс
```

---

**Готово! Ваш персональный ИИ помощник готов к работе! 🚀**
Loading