fix: persist resolved telegram delivery targets at runtime

This commit is contained in:
Ayaan Zaidi
2026-02-23 09:13:35 +05:30
committed by Ayaan Zaidi
parent 35fbf26d24
commit dcc52850c3
8 changed files with 632 additions and 77 deletions

View File

@@ -1,23 +1,7 @@
import { normalizeTelegramLookupTarget } from "../../../telegram/targets.js";
export function normalizeTelegramMessagingTarget(raw: string): string | undefined {
const trimmed = raw.trim();
if (!trimmed) {
return undefined;
}
let normalized = trimmed;
if (normalized.startsWith("telegram:")) {
normalized = normalized.slice("telegram:".length).trim();
} else if (normalized.startsWith("tg:")) {
normalized = normalized.slice("tg:".length).trim();
}
if (!normalized) {
return undefined;
}
const tmeMatch =
/^https?:\/\/t\.me\/([A-Za-z0-9_]+)$/i.exec(normalized) ??
/^t\.me\/([A-Za-z0-9_]+)$/i.exec(normalized);
if (tmeMatch?.[1]) {
normalized = `@${tmeMatch[1]}`;
}
const normalized = normalizeTelegramLookupTarget(raw);
if (!normalized) {
return undefined;
}
@@ -25,15 +9,5 @@ export function normalizeTelegramMessagingTarget(raw: string): string | undefine
}
export function looksLikeTelegramTargetId(raw: string): boolean {
const trimmed = raw.trim();
if (!trimmed) {
return false;
}
if (/^(telegram|tg):/i.test(trimmed)) {
return true;
}
if (trimmed.startsWith("@")) {
return true;
}
return /^-?\d{6,}$/.test(trimmed);
return Boolean(normalizeTelegramLookupTarget(raw));
}