-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.py
More file actions
52 lines (43 loc) · 1.88 KB
/
Copy pathconfig.py
File metadata and controls
52 lines (43 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env python3
"""
配置文件
所有配置项集中在这里管理
"""
import os
from pathlib import Path
# ============ GitHub 配置 ============
# GitHub Personal Access Token(必须设置)
# 从环境变量读取,必须有 repo 通知权限
GITHUB_TOKEN = os.getenv("GITHUB_TOKEN")
if not GITHUB_TOKEN:
raise RuntimeError("【严重】GITHUB_TOKEN 环境变量未设置,请先配置:export GITHUB_TOKEN='ghp_xxxxx'")
# GitHub API基础地址
GITHUB_API_BASE = "https://api.github.com"
# 要监控的用户名列表(可以有多个)
# 例如:["dorokuma", "other_user"]
TARGET_USERS = [u.strip() for u in os.getenv("TARGET_USERS", "dorokuma").split(",")]
# ============ Telegram 配置 ============
# Telegram Bot Token(必须设置)
TELEGRAM_BOT_TOKEN = os.getenv("TELEGRAM_BOT_TOKEN")
if not TELEGRAM_BOT_TOKEN:
raise RuntimeError("【严重】TELEGRAM_BOT_TOKEN 环境变量未设置,请先配置:export TELEGRAM_BOT_TOKEN='xxxxx'")
# Telegram 接收通知的Chat ID(必须设置)
TELEGRAM_CHAT_ID = os.getenv("TELEGRAM_CHAT_ID")
if not TELEGRAM_CHAT_ID:
raise RuntimeError("【严重】TELEGRAM_CHAT_ID 环境变量未设置,请先配置:export TELEGRAM_CHAT_ID='xxxxx'")
# ============ 轮询配置 ============
# 轮询间隔(秒),默认5分钟,最小60秒避免触发rate limit
_POLL_INTERVAL_raw = os.getenv("POLL_INTERVAL", "300")
try:
POLL_INTERVAL = int(_POLL_INTERVAL_raw)
if POLL_INTERVAL < 60:
raise ValueError(f"POLL_INTERVAL={POLL_INTERVAL} 小于最小值60")
except ValueError:
raise RuntimeError(
f"POLL_INTERVAL 环境变量无效:'{_POLL_INTERVAL_raw}',请设置为整数(秒),"
f"建议 >= 60,当前使用默认值 300"
)
# 状态文件路径
STATE_FILE = Path(__file__).parent / "state.json"
# ============ 日志配置 ============
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")