tg-channel-bot/config.py

58 lines
2.2 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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"))