# 🤖 Байтик — Telegram-бот для Егора

Детский ИИ-помощник с интеграцией OpenRouter (Qwen 3.6-Plus).

## 🚀 Быстрый старт

1. **Скопируйте `.env.example` в `.env`:**
   ```bash
   cp .env.example .env
   ```

2. **Заполните `.env`:**
   - `BOT_TOKEN` — токен от @BotFather
   - `ALLOWED_CHAT_ID` — ID разрешённой группы (критично!)
   - `OPENROUTER_API_KEY` — ключ от OpenRouter
   - `OPENROUTER_MODEL` — по умолчанию `openrouter/qwen/qwen3.6-plus`

3. **Установите зависимости:**
   ```bash
   pip install -r requirements.txt
   ```

4. **Запустите бота:**
   ```bash
   python bot.py
   ```

## 📁 Структура проекта

| Файл | Описание |
|------|----------|
| `bot.py` | Точка входа, хэндлеры Telegram |
| `config.py` | Загрузка конфига из `.env` |
| `prompts.py` | Системный промпт, факты, праздники |
| `llm.py` | Обёртка над OpenRouter API + фильтр слов |
| `chat_history.py` | Хранение контекста диалога (JSON) |
| `scheduler.py` | Утренняя рассылка + праздники |
| `tts.py` | Голосовые сообщения (ElevenLabs) |
| `data/chat_history/` | JSON-файлы с историей по user_id |
| `logs/bytik.log` | Лог-файл |

## ✅ Реализовано (Фаза 1 + 2)

- [x] Whitelist chat_id — бот игнорирует все чаты кроме `ALLOWED_CHAT_ID`
- [x] Авто-выход при добавлении в новую группу
- [x] Интеграция с OpenRouter (Qwen 3.6-Plus)
- [x] Детский системный промпт (0+)
- [x] Фильтр запрещённых слов (двойная защита)
- [x] Контекст диалога (последние 10 сообщений)
- [x] Утренняя рассылка 7:30 MSK с энциклопедическими фактами
- [x] Праздничные поздравления (включая ДР Егора 17.04!)
- [x] Логи в `logs/bytik.log`
- [x] TTS через ElevenLabs (опционально, базовая реализация)

## 🔧 Тестирование

1. **Whitelist:** Попробуйте написать боту в ЛС — он должен проигнорировать
2. **Группа:** Добавьте бота в разрешённую группу — должен работать
3. **Чужая группа:** Добавьте бота в другую группу — должен автоматически выйти
4. **Промпт:** Задайте провокационный вопрос — должен мягко уйти от темы
5. **Рассылка:** Проверьте лог в 7:30 MSK на наличие утреннего факта
6. **ДР Егора:** 17 апреля бот должен отправить особое поздравление

## 📝 Команды бота

- `/start` — приветствие
- `/clear` — очистить историю диалога

## 🔐 Безопасность

- Whitelist на уровне `message.chat.id`
- Системный промпт запрещает взрослый контент
- Дополнительный фильтр запрещённых слов в `llm.py`
- Логи пишутся в файл для аудита
