init commit

This commit is contained in:
2025-12-18 05:55:32 +09:00
commit a6817e487e
72 changed files with 13847 additions and 0 deletions

106
.env.example Normal file
View File

@@ -0,0 +1,106 @@
# ════════════════════════════════════════════════════════════════════
# TELEGRAM BOT CONFIGURATION
# ════════════════════════════════════════════════════════════════════
# Получить на https://t.me/botfather
TELEGRAM_BOT_TOKEN=your_bot_token_here
# ════════════════════════════════════════════════════════════════════
# TELETHON CLIENT CONFIGURATION (для групп, где боты не могут писать)
# ════════════════════════════════════════════════════════════════════
# Включить режим Telethon клиента (true/false)
USE_TELETHON=false
# API ID и API HASH (получить на https://my.telegram.org)
TELETHON_API_ID=your_api_id_here
TELETHON_API_HASH=your_api_hash_here
# Номер телефона для аккаунта (с кодом страны, например +79991234567)
TELETHON_PHONE=your_phone_number
# ════════════════════════════════════════════════════════════════════
# DATABASE CONFIGURATION
# ════════════════════════════════════════════════════════════════════
# SQLite (по умолчанию)
DATABASE_URL=sqlite+aiosqlite:///./autoposter.db
# PostgreSQL (раскомментируйте для использования)
# DATABASE_URL=postgresql+asyncpg://user:password@localhost:5432/autoposter_db
# PostgreSQL (с password в переменной окружения)
# DB_USER=autoposter
# DB_PASSWORD=your_secure_password
# DB_HOST=localhost
# DB_PORT=5432
# DB_NAME=autoposter_db
# ════════════════════════════════════════════════════════════════════
# LOGGING CONFIGURATION
# ════════════════════════════════════════════════════════════════════
# Уровень логирования: DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_LEVEL=INFO
# Максимальный размер лог файла (в байтах, по умолчанию 10MB)
LOG_MAX_SIZE=10485760
# Количество резервных логов
LOG_BACKUP_COUNT=5
# ════════════════════════════════════════════════════════════════════
# BOT SETTINGS
# ════════════════════════════════════════════════════════════════════
# Timeout для операций с Telegram (в секундах)
TELEGRAM_TIMEOUT=30
# Максимальное количество попыток отправки при ошибке
MAX_RETRIES=3
# Задержка между попытками (в секундах)
RETRY_DELAY=5
# Минимальный интервал между отправками сообщений (в секундах)
MIN_SEND_INTERVAL=0.5
# Максимум ждать при FloodWait от Telethon (в секундах)
TELETHON_FLOOD_WAIT_MAX=60
# ════════════════════════════════════════════════════════════════════
# PARSING SETTINGS
# ════════════════════════════════════════════════════════════════════
# Включить парсинг групп по ключевым словам
ENABLE_KEYWORD_PARSING=true
# Интервал проверки групп (в секундах, 0 = отключено)
GROUP_PARSE_INTERVAL=3600
# Максимальное количество участников для загрузки (0 = все)
MAX_MEMBERS_TO_LOAD=1000
# ════════════════════════════════════════════════════════════════════
# OPTIONAL SETTINGS
# ════════════════════════════════════════════════════════════════════
# Включить сохранение статистики
ENABLE_STATISTICS=true
# Время хранения истории сообщений (в днях, 0 = навсегда)
MESSAGE_HISTORY_DAYS=30
# Включить webhook для получения обновлений (вместо polling)
# WEBHOOK_URL=https://your-domain.com/webhook
# WEBHOOK_PORT=8443
# ════════════════════════════════════════════════════════════════════
# CELERY & REDIS CONFIGURATION
# ════════════════════════════════════════════════════════════════════
# Redis для Celery
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_DB=0
# REDIS_PASSWORD=your_password_if_needed