Telegram
Monitor anonymous public Telegram announcement channels without private access.
v2 stores message text plus public image, video, audio, and document pointers when Telegram exposes them. It supports public announcement-channel previews only: no bot token, private chat, member-only group, or discussion replies.
What it collects
Argus anonymously scrapes Telegram’s public channel preview for announcement posts. Each parsed post uses the canonical https://t.me/<channel>/<numeric-id> URL.
Prerequisites
Choose public channel usernames only. The public-preview adapter needs no Telegram account, bot token, session, or phone number.
Configure the source
sources:
telegram:
enabled: true
adapter: public-webpublic-web is the only supported adapter value.
Configure watches
Channel usernames contain letters, digits, and underscores, without @ or a t.me/ URL.
watches:
- id: release-announcements
schedule: "*/15 * * * *"
inputs:
telegram:
channels: [telegram]Validate and apply
argus config validate /opt/argus/argus.yaml
argus config apply /opt/argus/argus.yamlVerify ingestion
Use argus doctor --json and then request GET /v1/records?source=telegram with your API bearer token. Trigger a configured watch only when an immediate check is needed.
Limits and safety
Private chats, groups, direct messages, invite-only content, and content behind Telegram access controls are excluded. Preview downloads have a 20-second timeout and a 2 MiB body limit.
Troubleshooting
- Use the channel username, not
@name, a numeric chat ID, or the full URL. - Confirm the channel has a public preview and the source is enabled.
- A Telegram HTTP failure is recorded as a failed collection job; inspect
argus logs argus.