62 lines
1.7 KiB
Python
62 lines
1.7 KiB
Python
"""
|
|
notify.py - Telegram 推送。
|
|
"""
|
|
import logging
|
|
import requests
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
BOT_TOKEN = "8742822093:AAGzD1vS7ru7ROhgcOjA-UyHb4R8Cfcqv3Q"
|
|
CHAT_ID = "580807463"
|
|
|
|
|
|
def send_telegram_message(text: str) -> bool:
|
|
"""发送 Telegram 消息(不去重,每次调用都发)。"""
|
|
if not BOT_TOKEN or not CHAT_ID:
|
|
logger.warning("Telegram 未配置,跳过推送")
|
|
return False
|
|
|
|
url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
|
|
try:
|
|
resp = requests.post(
|
|
url,
|
|
json={
|
|
"chat_id": CHAT_ID,
|
|
"text": text,
|
|
"parse_mode": "HTML",
|
|
"disable_web_page_preview": True,
|
|
},
|
|
timeout=10,
|
|
)
|
|
resp.raise_for_status()
|
|
return True
|
|
except Exception as e:
|
|
logger.error(f"Telegram 推送失败: {e}")
|
|
return False
|
|
|
|
|
|
def send_bsp_alert(text: str, bsp_key: str = "") -> bool:
|
|
"""推送 BSP 消息。"""
|
|
if not BOT_TOKEN or not CHAT_ID:
|
|
logger.warning("Telegram 未配置,跳过推送")
|
|
return False
|
|
|
|
url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
|
|
try:
|
|
resp = requests.post(
|
|
url,
|
|
json={
|
|
"chat_id": CHAT_ID,
|
|
"text": text,
|
|
"parse_mode": "HTML",
|
|
"disable_web_page_preview": True,
|
|
},
|
|
timeout=10,
|
|
)
|
|
resp.raise_for_status()
|
|
logger.info(f"Telegram 推送成功: {bsp_key or 'no-key'}")
|
|
return True
|
|
except Exception as e:
|
|
logger.error(f"Telegram 推送失败: {e}")
|
|
return False
|