Telegram webhooks
Telegram chatbot webhooks implementation as described in the Telegram documentation
By default this integration sets your bot’s webhook URL automatically to https://<external_url>/api/telegram_webhooks
with the external_url of your Home Assistant configuration using Telegrams setWebhook
method.
This is one of two bot implementations supported by Telegram. Described by Telegram as the preferred implementation but requires your Home Assistant instance to be exposed to the internet. The other implementation method is Telegram polling, for which your Home Assistant instance does not have to be exposed to the internet.
Configuration
To integrate this into Home Assistant, add the following section to your configuration.yaml
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file:
# Example configuration.yaml entry
telegram_bot:
- platform: webhooks
api_key: YOUR_API_KEY
allowed_chat_ids:
- 123456789 # example id of a user
- -987654321 # example id of a group, starts with a -
Configuration Variables
A list of ids representing the users and group chats that are authorized to interact with the bot.
Default parser for messages if not explicit in message data, either html
or markdown
.
Proxy URL if working behind one, optionally including username and password. (socks5://username:password@proxy_ip:proxy_port
).
Allow to overwrite the external URL from the Home Assistant configuration for different setups (https://<public_url>:<port>
).
To get your chat_id
and api_key
follow the instructions here. As well as authorizing the chat, if you have added your bot to a group you will also need to authorize any user that will be interacting with the webhook. When an unauthorized user tries to interact with the webhook Home Assistant will raise an error (“Incoming message is not allowed”), you can easily obtain the users id by looking in the “from” section of this error message.
Full configuration example
The configuration sample below shows how an entry can look like:
# Example configuration.yaml entry
telegram_bot:
- platform: webhooks
api_key: YOUR_API_KEY
parse_mode: html
trusted_networks:
- 149.154.160.0/20
- 91.108.4.0/22
allowed_chat_ids:
- 123456789 # example id of a user
- -987654321 # example id of a group, starts with a -