telegram-intel) mirrors a curated set of open-source Telegram channels into the dashboard and lets users follow additional public channels: topic-tabbed, freshness-aware, and relay-status-aware so the panel can distinguish “no recent traffic” from “relay unavailable”.
What the panel shows
A row of topic tabs at the top with a feed list below:- Topic tabs — tabs derived from
TELEGRAM_TOPICSinsrc/services/telegram-intel. The default tab isall. - Custom public channels — resolve an
@username, preview it, and add channels up to the bounded watchlist limit. The list is stored locally undertelegram:watchlist:v1; each channel can be removed from its pill. - Feed items —
TelegramItem[]for the active topic, each showing channel, public trust badges (same propaganda/tier CSS as news clusters), message timestamp, and message body (withsanitizeUrlapplied to any links). - Live distinction — items newer than 10 minutes (
LIVE_THRESHOLD_MS = 600_000) are flagged as live. - Relay state — when the Telegram relay isn’t reachable (
relayEnabled = false), the panel indicates degraded mode rather than showing an empty list.
telegram-intel; canonical component is src/components/TelegramIntelPanel.ts. Title from i18n (panels.telegramIntel); config name: “Telegram Intel”. Default row span is 2 — the panel is dense.
How you reach it
- Cmd+K: type telegram.
- Availability by variant: registered and enabled by default in the full/geopolitical variant only (
priority: 2). The full-variant registration layerspremium: 'locked'on desktop (_desktop && { premium: 'locked' as const }), so the panel is free on web and PRO-locked on desktop. Not present in the tech, finance, commodity, or happy variants. Source:'telegram-intel'inFULL_PANELSofsrc/config/panels.ts.
Data sources
@/services/telegram-intel— backed by/api/telegram-feed, which proxies to the existing Railway Telegram relay. The product-managed curated set remains separate from each browser’s user-defined watchlist.
Backed by endpoints
Refresh cadence
Driven by the relay’s poll cycle; the panel reads on mount and on relevant external refresh triggers.Saudi Civil Defense alerts
The curated full feed includes Saudi Civil Defense as a Tier 1 government source. Its official emergency notices are primary government reports; the source rating does not establish independent confirmation of every incident. Posts no older than 15 minutes enter the existing LLM classification pass. Only high or critical results can produce breaking-news notifications, with the original Telegram link and Saudi Arabia country scope. Routine posts, incomplete text, invalid timestamps, and failed classifications do not produce alerts. Normal subscription rules, severity filters, quiet hours, and delivery deduplication still apply. Adding a custom channel does not enable notifications from it. This path requires the Telegram relay, a configured classification provider, Redis, and the notification worker. Deployment and a natural successful delivery are separate from local fixture tests.Tier & gating
Free on web; PRO-locked on desktop. Registered withoutpremium on the web path; the desktop variant spreads premium: 'locked' via the _desktop && clause.
API reference
/api/telegram-feed— relay proxy documented under Proxies.
