Normalize Telegram t.me channel IDs

This commit is contained in:
Magzhan Zhumabayev
2026-05-11 13:41:25 +05:00
parent 000ac984b6
commit bf75a005c2
2 changed files with 24 additions and 1 deletions
+18 -1
View File
@@ -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: