Telegram handler for Erlang/OTP Logger.
Handler configuration is a map which can contain general configuration
and handler specific parameters. The specific data is stored in a sub
map with the key config, and can contain the following parameters:
-
auth_token = string():
Token to access Bot API. Talk to BotFather in order to create a bot and receive its token. Required. -
chat_id = string():
Target chat identifier (or channel username in the format@channel). Required.If you plan to use a private channel, follow these instructions to obtain its identifier.
-
disable_notification_level = logger:level() | all | none:
Specifies log level to disable sound notifications. Log events with the same, or a less severe level, are sent silently. Defaults toall. -
disable_web_page_preview = boolean():
Disables link previews for links in messages. Defaults totrue.
All these parameters can also be set in the application configuration. Corresponding application parameters are used as default values.
A configuration similar to the following can be used to send messages to a single chat or channel:
{logger_telegram,
[{auth_token, "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"},
{chat_id, "@channel"}
]}
Multiple handler instances can be added, for example, to send messages to several chats or channels:
{logger_telegram,
[{auth_token, "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"},
{logger,
[{handler, tg1, logger_telegram_h, #{config => #{chat_id => "@channel1"}}},
{handler, tg2, logger_telegram_h, #{config => #{chat_id => "@channel2"}}}
]}
]}
If you don't want handlers to be added on application start, pass empty
list as the logger configuration parameter:
{logger_telegram, [{logger, []}]}