fix: add proxy support to httpx to allow Telegram API requests

This commit is contained in:
Gan, Jimmy
2026-02-20 10:36:59 +08:00
parent b063382085
commit ec2f60fb2f
3 changed files with 6 additions and 2 deletions
+2 -1
View File
@@ -28,7 +28,8 @@ async def monitor_containers():
msg = f"⚠️ *Container Alert* ⚠️\nContainer `{c.name}` just stopped unexpectedly (Status: {current_status})." msg = f"⚠️ *Container Alert* ⚠️\nContainer `{c.name}` just stopped unexpectedly (Status: {current_status})."
# Use httpx directly as system.send_notification expects a FastAPI request object usually # Use httpx directly as system.send_notification expects a FastAPI request object usually
if TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID: if TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID:
async with httpx.AsyncClient() as hc: proxy_url = os.environ.get("HTTP_PROXY") or os.environ.get("http_proxy")
async with httpx.AsyncClient(proxy=proxy_url) as hc:
await hc.post( await hc.post(
f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage", f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage",
data={"chat_id": TELEGRAM_CHAT_ID, "text": msg, "parse_mode": "Markdown"}, data={"chat_id": TELEGRAM_CHAT_ID, "text": msg, "parse_mode": "Markdown"},
+2 -1
View File
@@ -16,7 +16,8 @@ async def send_notification(body: dict):
msg = body.get("message", "") msg = body.get("message", "")
if not msg or not TELEGRAM_BOT_TOKEN or not TELEGRAM_CHAT_ID: if not msg or not TELEGRAM_BOT_TOKEN or not TELEGRAM_CHAT_ID:
return {"ok": False, "error": "missing message or Telegram config"} return {"ok": False, "error": "missing message or Telegram config"}
async with httpx.AsyncClient() as client: proxy_url = os.environ.get("HTTP_PROXY") or os.environ.get("http_proxy")
async with httpx.AsyncClient(proxy=proxy_url) as client:
r = await client.post( r = await client.post(
f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage", f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage",
data={"chat_id": TELEGRAM_CHAT_ID, "text": msg, "parse_mode": "Markdown"}, data={"chat_id": TELEGRAM_CHAT_ID, "text": msg, "parse_mode": "Markdown"},
+2
View File
@@ -36,6 +36,8 @@ services:
- VPS_SSH_USER=jimmyg - VPS_SSH_USER=jimmyg
- TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN:-} - TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN:-}
- TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID:-} - TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID:-}
- HTTP_PROXY=${HTTP_PROXY:-}
- HTTPS_PROXY=${HTTPS_PROXY:-}
volumes: volumes:
- /volume1:/volume1 - /volume1:/volume1
- /volume1/docker/nas-dashboard/ssh/dashboard_terminal:/app/ssh/id_ed25519:ro - /volume1/docker/nas-dashboard/ssh/dashboard_terminal:/app/ssh/id_ed25519:ro