#!/bin/bash # Скрипт для инициализации Telethon UserBot set -e echo "╔════════════════════════════════════════════════════════════════╗" echo "║ Telethon UserBot Initialization ║" echo "╚════════════════════════════════════════════════════════════════╝" echo "" # Проверить наличие .env файла if [ ! -f ".env" ]; then echo "❌ Файл .env не найден!" echo "📝 Создайте .env на основе .env.example" exit 1 fi # Загрузить переменные окружения export $(cat .env | grep -v '^#' | xargs) # Проверить API ID и API HASH if [ -z "$TELETHON_API_ID" ] || [ -z "$TELETHON_API_HASH" ]; then echo "❌ TELETHON_API_ID или TELETHON_API_HASH не установлены!" echo "📝 Добавьте их в .env файл" echo "" echo "Как получить:" echo "1. Перейти на https://my.telegram.org/auth" echo "2. Войти с номером телефона" echo "3. Выбрать 'API development tools'" echo "4. Скопировать api_id и api_hash в .env" exit 1 fi # Проверить номер телефона if [ -z "$TELETHON_PHONE" ]; then echo "❌ TELETHON_PHONE не установлен!" echo "📝 Добавьте TELETHON_PHONE=+1234567890 в .env" exit 1 fi echo "✅ Конфигурация найдена:" echo " API ID: ****${TELETHON_API_ID: -4}" echo " Phone: $TELETHON_PHONE" echo "" # Удалить старую сессию если существует if [ -f "sessions/userbot_session.session" ]; then echo "⚠️ Найдена старая сессия" read -p "Удалить и авторизироваться заново? (y/n) " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then rm -f sessions/userbot_session.session* echo "✅ Старая сессия удалена" else echo "ℹ️ Используем существующую сессию" exit 0 fi fi echo "" echo "🚀 Запускаем инициализацию UserBot..." echo "📲 Вам придет SMS код - введите его" echo "" # Запустить userbot_service.py для авторизации python userbot_service.py if [ -f "sessions/userbot_session.session" ]; then echo "" echo "✅ UserBot успешно авторизирован!" echo "📁 Сессия сохранена в: sessions/userbot_session.session" echo "" echo "🎯 Следующие шаги:" echo " 1. docker-compose build" echo " 2. docker-compose up -d" echo " 3. Отправить /sync_groups в боте" else echo "" echo "❌ Ошибка авторизации" exit 1 fi