Files
new_lottery_bot/DEPLOY_QUICK_START.md
Andrew K. Choi e1b4465f89
Some checks failed
continuous-integration/drone/pr Build is failing
feat: Add admin management system with super admin controls
- Implemented two-level admin hierarchy (super admin from .env and assigned admins)
- Only super admins (from ADMIN_IDS in .env) can manage admin assignments
- Added admin management menu to settings (visible only for super admins)
- Admins can add/remove other admins through the bot interface
- Protected super admins from deletion
- Added CLI tool for admin management (scripts/manage_admins.py)
- Added database check script (scripts/check_db.py)
- Added deployment scripts for server setup
- Added comprehensive documentation on admin management system
- Added backup and server deployment guides
2026-02-18 13:19:26 +09:00

5.3 KiB
Raw Blame History

🚀 Быстрый старт развертывания на сервер

📍 Сервер: 192.168.0.103
👤 Пользователь: trevor

3 минуты на развертывание

1 Подключитесь к серверу

ssh trevor@192.168.0.103
# Пароль: R0sebud

2 Перейдите в проект

cd ~/new_lottery_bot

3 Создайте .env файл

cat > .env << 'EOF'
BOT_TOKEN=your_bot_token_here
DATABASE_URL=postgresql://trevor:password@localhost:5432/lottery_bot
ADMIN_IDS=123456789
LOG_LEVEL=INFO
EOF

Замените:

  • your_bot_token_here → токен из @BotFather
  • password → пароль PostgreSQL
  • 123456789 → ваш Telegram ID

4 Запустите развертывание

chmod +x scripts/deploy_and_run.sh scripts/deploy_server.sh
./scripts/deploy_and_run.sh

Готово! Бот работает! 🎉


🔧 Альтернативные способы запуска

Вариант 1: Пошаговый запуск

# Создание виртуального окружения
python3 -m venv venv
source venv/bin/activate

# Установка зависимостей
pip3 install -r requirements.txt

# Проверка БД
python3 scripts/check_db.py

# Запуск бота
python3 main.py

Вариант 2: Только развертывание (без запуска)

chmod +x scripts/deploy_server.sh
./scripts/deploy_server.sh

Вариант 3: Screen (фоновый запуск)

# Создаем screen сессию
screen -S lottery-bot

# Внутри screen:
source venv/bin/activate
python3 main.py

# Выход (Ctrl+A затем D)

Для повторного подключения:

screen -r lottery-bot

Вариант 4: Systemd (production)

Смотрите файл docs/SERVER_DEPLOYMENT.md раздел "Системд сервис"


📋 Подготовка БД PostgreSQL

Если БД еще не создана на сервере:

# Подключитесь как админ (на сервере)
sudo -u postgres psql

# Создайте БД и пользователя
CREATE USER trevor WITH PASSWORD 'secure_password';
CREATE DATABASE lottery_bot OWNER trevor;
GRANT ALL PRIVILEGES ON DATABASE lottery_bot TO trevor;
GRANT ALL PRIVILEGES ON SCHEMA public TO trevor;
\q

Проверьте подключение:

psql -h localhost -U trevor -d lottery_bot -c "SELECT 1"

Проверка работы

# Если видите в логах:
# " Bot started successfully!" - всё работает! ✅

# Отправьте сообщение боту через Telegram
# Если получите ответ - бот работает! 🎉

🆘 Если возникают проблемы

"Connection refused"

# Проверьте PostgreSQL на сервере
sudo systemctl status postgresql

# Проверьте переменную DATABASE_URL в .env
cat .env | grep DATABASE_URL

"ModuleNotFoundError"

source venv/bin/activate
pip3 install -r requirements.txt

"Bot token is invalid"

# Получите новый токен от @BotFather
# Обновите переменную BOT_TOKEN в .env
nano .env

Подробные логи

# Запустите с логированием
python3 main.py 2>&1 | tee logs/bot.log

# Или если используете systemd
sudo journalctl -u lottery-bot -f

📚 Дополнительная информация

Файл Назначение
docs/SERVER_DEPLOYMENT.md Полный гайд развертывания
docs/ADMIN_MANAGEMENT_SYSTEM.md Управление администраторами
scripts/deploy_server.sh Автоматическое развертывание
scripts/deploy_and_run.sh Развертывание + запуск
scripts/check_db.py Проверка БД перед запуском
scripts/manage_admins.py Управление админами (CLI)

🎯 Что дальше?

После успешного запуска:

  1. Откройте админ-панель: /admin_panel (в боте)
  2. Управляйте розыгрышами: создавайте, редактируйте, проводите
  3. Управляйте администраторами: ⚙️ Настройки → 👑 Управление админами
  4. Смотрите логи: logs/ директория

🔒 Рекомендации по безопасности

  • Используйте сильные пароли для PostgreSQL
  • Пробросьте firewall правила (разрешить только необходимые порты)
  • Регулярно делайте резервные копии БД
  • Обновляйте dependencies: pip3 install --upgrade -r requirements.txt
  • Используйте HTTPS/TLS для всех连ections

Вопросы? Смотрите файлы документации в папке docs/ 📚