Skip to content

Telegram

In Telegram, although the configuration uses the term channels, they are actually implemented as groups with topics.

Limitations

We use the HTML parser, so links (source, runbook) will not be generated if their format does not comply with standards.
For example, a link that only contains a hostname (like http://localhost:8000) will be ignored.

✅ Workaround: use a valid domain name or an IP address.

Create a bot

Follow this instruction. Save the bot token as the TELEGRAM_BOT_TOKEN environment variable (used in section 2.3 here).

Configure group

  1. Open your group, go to the menu, and click "Manage group":

    • enable "Topics"
    • optionally, set our logo by clicking the "photo" icon
    • click Save
  2. Add the bot to your group

  3. Promote the bot to administrator, enable "Manage topics"

  4. All users from messenger.admin_users must be members of every group listed in the route block

  5. Add users from messenger.chains to their respective groups.

    For simplicity, you can add all users from messenger.users to all groups defined in the route block

  6. It is highly recommended to mute group notifications forever to reduce noise

  7. Get the group ID (using the @myidbot bot)

    • add @myidbot bot to group
    • go to the group's "General" topic and send the command: /getgroupid@myidbot
    • use the returned group ID in the messenger.channels configuration block
    • you can remove @myidbot afterwards
  8. Make sure the IMPulse bot has permission to interact with users. If you see the log warning "user <username> not found in Telegram and will not be notified" - ask the user <username> to send a message to the bot. This usually resolves the issue.