175 lines
4.5 KiB
Markdown
175 lines
4.5 KiB
Markdown
# 🚀 Checklist для запуска Telegram Tinder Bot
|
||
|
||
## ✅ Предварительные требования
|
||
|
||
### Системные требования
|
||
- [ ] Node.js 16+ установлен
|
||
- [ ] PostgreSQL 12+ установлен (или Docker)
|
||
- [ ] Git установлен
|
||
|
||
### Telegram Bot Setup
|
||
- [ ] Создать бота через @BotFather
|
||
- [ ] Получить Bot Token
|
||
- [ ] Настроить команды бота:
|
||
```
|
||
start - Начать знакомство
|
||
profile - Мой профиль
|
||
browse - Смотреть анкеты
|
||
matches - Мои матчи
|
||
settings - Настройки
|
||
help - Помощь
|
||
```
|
||
|
||
## 🛠️ Установка и настройка
|
||
|
||
### 1. Клонирование и установка
|
||
```bash
|
||
git clone <repository-url>
|
||
cd telegram-tinder-bot
|
||
chmod +x setup.sh
|
||
./setup.sh
|
||
```
|
||
|
||
### 2. Настройка конфигурации
|
||
- [ ] Скопировать `.env.example` в `.env`
|
||
- [ ] Заполнить `TELEGRAM_BOT_TOKEN`
|
||
- [ ] Настроить подключение к базе данных
|
||
|
||
### 3. База данных
|
||
- [ ] Создать базу данных `telegram_tinder_bot`
|
||
- [ ] Запустить миграции:
|
||
```bash
|
||
psql -d telegram_tinder_bot -f src/database/migrations/init.sql
|
||
```
|
||
|
||
## 🔧 Конфигурация .env файла
|
||
|
||
```env
|
||
# Обязательные настройки
|
||
TELEGRAM_BOT_TOKEN=your_bot_token_here
|
||
DB_HOST=localhost
|
||
DB_PORT=5432
|
||
DB_NAME=telegram_tinder_bot
|
||
DB_USERNAME=postgres
|
||
DB_PASSWORD=your_password
|
||
|
||
# Опциональные настройки
|
||
NODE_ENV=production
|
||
PORT=3000
|
||
UPLOAD_PATH=./uploads
|
||
MAX_FILE_SIZE=5242880
|
||
```
|
||
|
||
## 🚀 Запуск бота
|
||
|
||
### Разработка
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
### Продакшен (PM2)
|
||
```bash
|
||
npm run build
|
||
npm run start:prod
|
||
```
|
||
|
||
### Docker
|
||
```bash
|
||
docker-compose up -d
|
||
```
|
||
|
||
## 🧪 Тестирование
|
||
|
||
### Проверка компиляции
|
||
```bash
|
||
npm run build
|
||
```
|
||
|
||
### Проверка подключения к БД
|
||
```bash
|
||
npm run test:db
|
||
```
|
||
|
||
### Ручное тестирование
|
||
- [ ] Отправить `/start` боту
|
||
- [ ] Пройти регистрацию
|
||
- [ ] Загрузить фото
|
||
- [ ] Попробовать поиск анкет
|
||
- [ ] Создать тестовый матч
|
||
|
||
## 📊 Мониторинг
|
||
|
||
### Логи
|
||
- [ ] Проверить `logs/` папку
|
||
- [ ] Настроить ротацию логов
|
||
- [ ] Мониторинг ошибок
|
||
|
||
### Метрики
|
||
- [ ] Количество пользователей
|
||
- [ ] Активность регистраций
|
||
- [ ] Количество матчей
|
||
- [ ] Объем сообщений
|
||
|
||
## 🔒 Безопасность
|
||
|
||
### Обязательно
|
||
- [ ] Изменить пароли по умолчанию
|
||
- [ ] Настроить файрвол
|
||
- [ ] Ограничить доступ к БД
|
||
- [ ] Регулярные бэкапы
|
||
|
||
### Опционально
|
||
- [ ] SSL сертификаты
|
||
- [ ] Rate limiting
|
||
- [ ] IP whitelist для админки
|
||
|
||
## 🚨 Troubleshooting
|
||
|
||
### Частые проблемы
|
||
|
||
**Bot не отвечает:**
|
||
- Проверить токен в .env
|
||
- Проверить сетевое подключение
|
||
- Посмотреть логи ошибок
|
||
|
||
**Ошибки БД:**
|
||
- Проверить настройки подключения
|
||
- Убедиться что PostgreSQL запущен
|
||
- Проверить права доступа
|
||
|
||
**Ошибки компиляции:**
|
||
- Обновить Node.js
|
||
- Переустановить зависимости: `rm -rf node_modules && npm install`
|
||
|
||
### Полезные команды
|
||
```bash
|
||
# Перезапуск бота
|
||
pm2 restart telegram-tinder-bot
|
||
|
||
# Просмотр логов
|
||
pm2 logs telegram-tinder-bot
|
||
|
||
# Статус процессов
|
||
pm2 status
|
||
|
||
# Остановка бота
|
||
pm2 stop telegram-tinder-bot
|
||
```
|
||
|
||
## 📞 Поддержка
|
||
|
||
### При возникновении проблем:
|
||
1. Проверьте логи в `logs/error.log`
|
||
2. Убедитесь в правильности конфигурации
|
||
3. Проверьте статус всех сервисов
|
||
4. Создайте issue с описанием проблемы
|
||
|
||
### Полезные ресурсы:
|
||
- [Telegram Bot API](https://core.telegram.org/bots/api)
|
||
- [PostgreSQL Documentation](https://www.postgresql.org/docs/)
|
||
- [Node.js Best Practices](https://github.com/goldbergyoni/nodebestpractices)
|
||
|
||
---
|
||
|
||
**🎉 После выполнения всех пунктов ваш Telegram Tinder Bot готов к работе!**
|