58 lines
2.2 KiB
Python
58 lines
2.2 KiB
Python
# Telegram Userbot 配置
|
||
import os
|
||
from pathlib import Path
|
||
|
||
_env_file = Path(__file__).parent / ".env"
|
||
if _env_file.exists():
|
||
for line in _env_file.read_text().splitlines():
|
||
line = line.strip()
|
||
if line and not line.startswith("#") and "=" in line:
|
||
key, _, value = line.partition("=")
|
||
os.environ.setdefault(key.strip(), value.strip())
|
||
|
||
# Telegram API
|
||
# 默认使用 Telegram Desktop 公开凭证 (开源在 GitHub)
|
||
# 也可在 .env 中覆盖为自己申请的凭证
|
||
API_ID = int(os.getenv("API_ID", "2040"))
|
||
API_HASH = os.getenv("API_HASH", "b18441a1ff607e10a989891a5462e627")
|
||
|
||
# 数据库
|
||
DATABASE_PATH = os.getenv("DATABASE_PATH", "data.db")
|
||
|
||
# 搜索结果条数
|
||
PAGE_SIZE = int(os.getenv("PAGE_SIZE", "10"))
|
||
|
||
# 历史消息拉取条数 (加入群时自动拉取)
|
||
HISTORY_LIMIT = int(os.getenv("HISTORY_LIMIT", "500"))
|
||
|
||
# ========== 多账号 & 代理配置 ==========
|
||
|
||
# 默认代理 (可选,格式: socks5://user:pass@host:port 或 http://host:port)
|
||
DEFAULT_PROXY_TYPE = os.getenv("DEFAULT_PROXY_TYPE", "") # socks5 / http / ""
|
||
DEFAULT_PROXY_HOST = os.getenv("DEFAULT_PROXY_HOST", "")
|
||
DEFAULT_PROXY_PORT = int(os.getenv("DEFAULT_PROXY_PORT", "0"))
|
||
DEFAULT_PROXY_USERNAME = os.getenv("DEFAULT_PROXY_USERNAME", "")
|
||
DEFAULT_PROXY_PASSWORD = os.getenv("DEFAULT_PROXY_PASSWORD", "")
|
||
|
||
# 代理模式: "fixed" 固定代理 / "pool" 代理池轮换
|
||
PROXY_MODE = os.getenv("PROXY_MODE", "fixed")
|
||
|
||
# ========== 风控配置 ==========
|
||
|
||
# 每个账号最大监控群数 (TG限制约500,留余量)
|
||
MAX_CHATS_PER_ACCOUNT = int(os.getenv("MAX_CHATS_PER_ACCOUNT", "400"))
|
||
|
||
# 批量加群间隔 (秒) — 每加一个群等多久
|
||
JOIN_INTERVAL_MIN = int(os.getenv("JOIN_INTERVAL_MIN", "30"))
|
||
JOIN_INTERVAL_MAX = int(os.getenv("JOIN_INTERVAL_MAX", "60"))
|
||
|
||
# 批量加群每批数量 — 加完一批后休息更久
|
||
JOIN_BATCH_SIZE = int(os.getenv("JOIN_BATCH_SIZE", "5"))
|
||
|
||
# 批量加群批次间休息 (秒)
|
||
JOIN_BATCH_REST_MIN = int(os.getenv("JOIN_BATCH_REST_MIN", "300"))
|
||
JOIN_BATCH_REST_MAX = int(os.getenv("JOIN_BATCH_REST_MAX", "600"))
|
||
|
||
# FloodWait 额外等待倍率 (遇到 FloodWait 时,等待时间 = TG要求 * 倍率)
|
||
FLOOD_WAIT_MULTIPLIER = float(os.getenv("FLOOD_WAIT_MULTIPLIER", "1.5"))
|