
БЫСТРАЯ ИНСТРУКЦИЯ ПО РАЗВЕРТКЕ ГОТОВОГО БОТА
=================================================
Эта инструкция для уже готового проекта. Вам нужно только настроить окружение и запустить.
================================================================
1. ПОДГОТОВКА СЕРВЕРА
================================================================
# Обновляем систему
sudo apt update && sudo apt upgrade -y
# Устанавливаем необходимые пакеты
sudo apt install -y git python3 python3-pip python3-venv postgresql postgresql-contrib nginx supervisor
================================================================
2. СКАЧИВАНИЕ ПРОЕКТА
================================================================
# Переходим в директорию
cd /var
# Клонируем проект (замените на ваш репозиторий)
sudo git clone
Для просмотра ссылки Войди или Зарегистрируйся datingbot
# Даем права на папку
sudo chown -R $USER:$USER /var/datingbot
# Переходим в папку проекта
cd /var/datingbot
================================================================
3. УСТАНОВКА ЗАВИСИМОСТЕЙ
================================================================
# Создаем виртуальное окружение
python3 -m venv venv
# Активируем окружение
source venv/bin/activate
# Устанавливаем зависимости
pip install -r requirements.txt
================================================================
4. НАСТРОЙКА POSTGRESQL
================================================================
# Запускаем PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql
# Создаем базу данных и пользователя
sudo -u postgres psql << EOF
CREATE USER botuser WITH PASSWORD 'StrongPassword123!';
CREATE DATABASE datingbot_db OWNER botuser;
GRANT ALL PRIVILEGES ON DATABASE datingbot_db TO botuser;
\q
EOF
# Проверяем подключение (введите пароль: StrongPassword123!)
psql -h localhost -U botuser -d datingbot_db -c "\q"
================================================================
5. НАСТРОЙКА .ENV ФАЙЛА
================================================================
# Копируем пример файла
cp .env.dist .env
# Редактируем файл конфигурации
nano .env
# ЗАПОЛНИТЕ СЛЕДУЮЩИЕ ПОЛЯ В .ENV ФАЙЛЕ:
# ===== ОБЯЗАТЕЛЬНЫЕ НАСТРОЙКИ БОТА =====
BOT_TOKEN=1234567890:ВАШТОКЕНОТБОТФАЗЕРА
ADMINS=ВАШ_TELEGRAM_ID
SUPPORTS=ВАШ_TELEGRAM_ID
# ===== НАСТРОЙКИ БАЗЫ ДАННЫХ =====
POSTGRES_USER=botuser
POSTGRES_PASSWORD=StrongPassword123!
DB_HOST=localhost
POSTGRES_DB=datingbot_db
# ===== НАСТРОЙКИ СЕРВЕРА =====
IP=ВАШ
IPАДРЕС_СЕРВЕРА
TIMEZONE=Europe/Moscow
MODERATE_CHAT=ВАШ_TELEGRAM_ID
# ===== НАСТРОЙКИ ПЛАТЕЖНОЙ СИСТЕМЫ =====
# Получите эти данные в личном кабинете 1plat.ru:
SHOP_ID=ВАШ
НОМЕРМАГАЗИНА
SECRET_KEY=ВАШ
СЕКРЕТНЫЙКЛЮЧ_МАГАЗИНА
# ===== ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ =====
USE_REDIS=False
# Сохраните файл: Ctrl+X, затем Y, затем Enter
================================================================
6. КАК ПОЛУЧИТЬ ДАННЫЕ ПЛАТЕЖНОЙ СИСТЕМЫ
================================================================
1. Зарегистрируйтесь на
Для просмотра ссылки Войди или Зарегистрируйся
2. Войдите в личный кабинет
3. Создайте новый магазин или выберите существующий
4. В настройках магазина найдите:
- SHOP_ID (номер магазина) - обычно числовое значение
- SECRET_KEY (секретный ключ) - длинная строка из букв и цифр
5. Скопируйте эти значения в файл .env
ВАЖНО: Секретный ключ держите в тайне!
================================================================
7. СОЗДАНИЕ ТАБЛИЦ В БАЗЕ ДАННЫХ
================================================================
# Переходим в Django проект
cd django_project/telegrambot
# Активируем виртуальное окружение (если не активно)
source ../../venv/bin/activate
# Создаем миграции
python manage.py makemigrations
# Применяем миграции (создаем таблицы)
python manage.py migrate
# Создаем суперпользователя для админки (опционально)
python manage.py createsuperuser
# Возвращаемся в корень проекта
cd /var/datingbot
================================================================
8. НАСТРОЙКА АВТОЗАПУСКА ЧЕРЕЗ SUPERVISOR
================================================================
# Создаем конфигурацию для Telegram бота
sudo tee /etc/supervisor/conf.d/datingbot.conf > /dev/null << EOF
[program:datingbot]
command=/var/datingbot/venv/bin/python /var/datingbot/app.py
directory=/var/datingbot
user=root
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/datingbot.log
environment=PATH="/var/datingbot/venv/bin"
EOF
# Создаем конфигурацию для Django (webhook сервер)
sudo tee /etc/supervisor/conf.d/django_app.conf > /dev/null << EOF
[program:django_app]
command=/var/datingbot/venv/bin/python /var/datingbot/django_app.py
directory=/var/datingbot
user=root
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/django_app.log
environment=PATH="/var/datingbot/venv/bin"
EOF
# Создаем файлы логов
sudo touch /var/log/datingbot.log
sudo touch /var/log/django_app.log
sudo chmod 666 /var/log/datingbot.log
sudo chmod 666 /var/log/django_app.log
# Обновляем конфигурацию supervisor
sudo supervisorctl reread
sudo supervisorctl update
# Запускаем сервисы
sudo supervisorctl start datingbot
sudo supervisorctl start django_app
================================================================
9. НАСТРОЙКА NGINX (для webhook'ов платежей)
================================================================
# Создаем конфигурацию Nginx
sudo tee /etc/nginx/sites-available/datingbot > /dev/null << EOF
server {
listen 80;
server_name ВАШ
ДОМЕНИЛИ_IP;
location /callback {
proxy_pass
Для просмотра ссылки Войди или Зарегистрируйся
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto \$scheme;
}
location /admin {
proxy_pass
Для просмотра ссылки Войди или Зарегистрируйся
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto \$scheme;
}
location / {
return 404;
}
}
EOF
# ЗАМЕНИТЕ "ВАШ
ДОМЕНИЛИ_IP" на ваш реальный домен или IP!
# Редактируем конфигурацию:
sudo nano /etc/nginx/sites-available/datingbot
# Активируем сайт
sudo ln -s /etc/nginx/sites-available/datingbot /etc/nginx/sites-enabled/
# Проверяем конфигурацию
sudo nginx -t
# Перезапускаем Nginx
sudo systemctl restart nginx
================================================================
10. НАСТРОЙКА WEBHOOK В ПЛАТЕЖНОЙ СИСТЕМЕ
================================================================
1. Войдите в личный кабинет 1plat.ru
2. Перейдите в настройки вашего магазина
3. Найдите поле "URL для уведомлений" или "Webhook URL"
4. Введите: http://ВАШ_ДОМЕН_ИЛИ_IP/callback
5. Сохраните настройки
ВАЖНО: Замените ВАШ
ДОМЕНИЛИ_IP на реальный адрес вашего сервера!
================================================================
11. ПРОВЕРКА РАБОТЫ
================================================================
# Проверяем статус всех сервисов
sudo supervisorctl status
# Должно показать:
# datingbot RUNNING pid 1234, uptime 0:00:05
# django_app RUNNING pid 1235, uptime 0:00:05
# Проверяем логи бота
tail -f /var/log/datingbot.log
# В новом терминале проверяем логи Django
tail -f /var/log/django_app.log
# Тестируем webhook (замените your-domain.com на ваш домен/IP)
curl -X POST
Для просмотра ссылки Войди или Зарегистрируйся \
-H "Content-Type: application/json" \
-d '{"payment_id": "test123", "status": 2, "user_id": "123456789"}'
================================================================
12. ПОЛЕЗНЫЕ КОМАНДЫ
================================================================
# Перезапуск бота
sudo supervisorctl restart datingbot
# Перезапуск Django
sudo supervisorctl restart django_app
# Перезапуск всех сервисов
sudo supervisorctl restart all
# Остановка всех сервисов
sudo supervisorctl stop all
# Запуск всех сервисов
sudo supervisorctl start all
# Просмотр статуса
sudo supervisorctl status
# Просмотр логов в реальном времени
tail -f /var/log/datingbot.log
tail -f /var/log/django_app.log
# Обновление кода из Git
cd /var/datingbot
git pull
sudo supervisorctl restart all
================================================================
13. ЧТО НУЖНО ОБЯЗАТЕЛЬНО ЗАМЕНИТЬ
================================================================
В файле .env:

BOT_TOKEN - получите у @BotFather в Telegram

ADMINS - ваш Telegram ID (узнать можно у @userinfobot)

IP - IP адрес вашего сервера

POSTGRES_PASSWORD - смените на свой пароль

SHOP_ID - номер магазина из личного кабинета 1plat.ru

SECRET_KEY - секретный ключ из личного кабинета 1plat.ru
В файле /etc/nginx/sites-available/datingbot:

server_name - замените на ваш домен или IP адрес
В настройках магазина 1plat.ru:

Webhook URL -
Для просмотра ссылки Войди или Зарегистрируйся
================================================================
14. ПРОВЕРОЧНЫЙ СПИСОК
================================================================
□ Установлены все пакеты (postgresql, nginx, supervisor)
□ Создана база данных datingbot_db
□ Заполнен файл .env со всеми настройками
□ Получены SHOP_ID и SECRET_KEY из 1plat.ru
□ Выполнены миграции Django (python manage.py migrate)
□ Созданы конфигурации supervisor
□ Настроен Nginx
□ Настроен webhook в личном кабинете 1plat.ru
□ Запущены сервисы (sudo supervisorctl status показывает RUNNING)
□ Бот отвечает в Telegram
□ Webhook работает (тест curl возвращает успешный ответ)
================================================================
15. ЧАСТЫЕ ПРОБЛЕМЫ
================================================================
ПРОБЛЕМА: "Бот не отвечает"
РЕШЕНИЕ:
- Проверьте токен в .env
- Смотрите логи: tail -f /var/log/datingbot.log
ПРОБЛЕМА: "Ошибка базы данных"
РЕШЕНИЕ:
- Проверьте пароль в .env
- Убедитесь что PostgreSQL запущен: sudo systemctl status postgresql
ПРОБЛЕМА: "Webhook не работает"
РЕШЕНИЕ:
- Проверьте Django логи: tail -f /var/log/django_app.log
- Проверьте Nginx: sudo nginx -t
- Убедитесь что webhook URL правильно настроен в 1plat.ru
ПРОБЛЕМА: "Платежи не обрабатываются"
РЕШЕНИЕ:
- Проверьте SHOP_ID и SECRET_KEY в .env
- Проверьте webhook URL в настройках магазина
- Смотрите логи Django: tail -f /var/log/django_app.log
ПРОБЛЕМА: "Сервис не запускается"
РЕШЕНИЕ:
- Проверьте права на файлы: sudo chown -R root:root /var/datingbot
- Перезапустите: sudo supervisorctl restart all
================================================================
16. ГОТОВО!
================================================================
Если все шаги выполнены правильно, ваш бот должен:

Отвечать на сообщения в Telegram

Принимать платежи через 1plat.ru

Принимать webhook'и платежей на
Для просмотра ссылки Войди или Зарегистрируйся

Автоматически разблокировать пользователей после оплаты

Автоматически запускаться при перезагрузке сервера

Логировать все действия в файлы
Для получения помощи проверьте логи и статус сервисов!
ВАЖНО: Не забудьте настроить SSL сертификат для продакшена!