Normalize Telegram t.me channel IDs
This commit is contained in:
+18
-1
@@ -45,13 +45,30 @@ def _error_alert_bot_token() -> str:
|
||||
return os.getenv("ERROR_TELEGRAM_ALERT_BOT_TOKEN", "").strip()
|
||||
|
||||
|
||||
def _normalize_telegram_chat_id(raw_id: str) -> str:
|
||||
value = raw_id.strip()
|
||||
if not value:
|
||||
return value
|
||||
|
||||
lowered = value.lower()
|
||||
for prefix in ("https://t.me/", "http://t.me/", "t.me/"):
|
||||
if lowered.startswith(prefix):
|
||||
value = value[len(prefix):].strip()
|
||||
break
|
||||
|
||||
if not value.startswith(("@", "-100")) and not value.isdigit():
|
||||
value = f"@{value}"
|
||||
return value
|
||||
|
||||
|
||||
def _error_alert_chat_ids() -> list[str]:
|
||||
raw = os.getenv("ERROR_TELEGRAM_ALERT_CHAT_IDS", "").strip()
|
||||
if not raw:
|
||||
raw = os.getenv("ERROR_TELEGRAM_ALERT_CHANNEL_ID", "").strip()
|
||||
if not raw:
|
||||
raw = os.getenv("ERROR_TELEGRAM_ALERT_CHANNEL", "").strip()
|
||||
return [item.strip() for item in raw.split(",") if item.strip()]
|
||||
normalized = [_normalize_telegram_chat_id(item) for item in raw.split(",")]
|
||||
return [item for item in normalized if item]
|
||||
|
||||
|
||||
def _error_alert_min_status() -> int:
|
||||
|
||||
Reference in New Issue
Block a user