Argus
Sources

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-web

public-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.yaml

Verify 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.

On this page