- Token (Required)
Props can be either supplied using the params argument, or through the URL using
Chats - Chat IDs or Channel names (using @channel-name) (Required)
Notification - If disabled, sends Message silently
ParseMode - How the text Message should be parsed
Preview - If disabled, no web page preview will be displayed for URLs
Title - Notification title, optionally set by the sender
Getting a token for Telegram¶
Talk to the botfather.
Identifying the target chats/channels¶
chats param consists of one or more
Chat IDs or
The channel names can be retrieved in the telegram client in the
Channel info section for public channels.
t.me/ prefix from the link with a
Channels names need to be prefixed by
@ to identify them as such.
If your channel only has an invite link (starting with
t.me/+), you have to use it's Chat ID (see below)
Private channels, Group chats and private chats are identified by
Chat IDs. Unfortunatly, they are generally not visible in the
The easiest way to retrieve them is by using the
shoutrrr generate telegram command which will guide you through
creating a URL with your target chats.
You can use the
containrrr/shoutrrr image in docker to run it without download/installing the
shoutrrr CLI using:
docker run --rm -it containrrr/shoutrrr generate telegram
Another way of retrieving the Chat IDs, is by forwarding a message from the target chat to the @shoutrrrbot. It will reply with the Chat ID for the chat where the forwarded message was originally posted. Note that it will not work correctly for Group chats, as those messages are just seen as being posted by a user, not in a specific chat. Instead you can use the second method, which is to invite the @shoutrrrbot into your group chat and address a message to it (start the message with @shoutrrrbot). You can then safely kick the bot from the group.
The bot should be constantly online, unless it's usage exceeds the free tier on GCP. It's source is available at github.com/containrrr/shoutrrrbot.
You can optionally specify the
preview parameters in the URL:
See the telegram documentation for more information.
notification are inverted in regards to their API counterparts (
Parse Mode and Title¶
If a parse mode is specified, the message needs to be escaped as per the corresponding sections in Formatting options.
When a title has been specified, it will be prepended to the message, but this is only supported for
HTML parse mode. Note that, if no parse mode is specified, the message will be escaped and sent using
Since the markdown modes are really hard to escape correctly, it's recommended to stick to
HTML parse mode.