UNPKG

@gguf/claw

Version:

WhatsApp gateway CLI (Baileys web) with Pi RPC agent

47 lines (45 loc) 1.35 kB
export function normalizeMattermostMessagingTarget(raw: string): string | undefined { const trimmed = raw.trim(); if (!trimmed) { return undefined; } const lower = trimmed.toLowerCase(); if (lower.startsWith("channel:")) { const id = trimmed.slice("channel:".length).trim(); return id ? `channel:${id}` : undefined; } if (lower.startsWith("group:")) { const id = trimmed.slice("group:".length).trim(); return id ? `channel:${id}` : undefined; } if (lower.startsWith("user:")) { const id = trimmed.slice("user:".length).trim(); return id ? `user:${id}` : undefined; } if (lower.startsWith("mattermost:")) { const id = trimmed.slice("mattermost:".length).trim(); return id ? `user:${id}` : undefined; } if (trimmed.startsWith("@")) { const id = trimmed.slice(1).trim(); return id ? `@${id}` : undefined; } if (trimmed.startsWith("#")) { const id = trimmed.slice(1).trim(); return id ? `channel:${id}` : undefined; } return `channel:${trimmed}`; } export function looksLikeMattermostTargetId(raw: string): boolean { const trimmed = raw.trim(); if (!trimmed) { return false; } if (/^(user|channel|group|mattermost):/i.test(trimmed)) { return true; } if (/^[@#]/.test(trimmed)) { return true; } return /^[a-z0-9]{8,}$/i.test(trimmed); }