2.4 KiB
title | description | menu | weight | ||||||
---|---|---|---|---|---|---|---|---|---|
telegram.endpoint() function | The `telegram.endpoint()` function sends a message to a Telegram channel using data from table rows. |
|
202 |
The telegram.endpoint()
function sends a message to a Telegram channel
using data from table rows.
Function type: Output
import "contrib/sranka/telegram"
telegram.endpoint(
url: "https://api.telegram.org/bot",
token: "S3crEtTel3gRamT0k3n",
parseMode: "MarkdownV2",
disableWebPagePreview: false,
)
{{% note %}} For information about retrieving your Telegram bot token and channel ID, see Set up a Telegram bot. {{% /note %}}
Parameters
url
URL of the Telegram bot endpoint.
Default is https://api.telegram.org/bot
.
Data type: String
token
Required Telegram bot token.
Data type: String
parseMode
Parse mode of the message text.
Default is "MarkdownV2"
.
Data type: String
disableWebPagePreview
Disable preview of web links in the sent message.
Default is false
.
Data type: Boolean
Usage
telegram.endpoint
is a factory function that outputs another function.
The output function requires a mapFn
parameter.
mapFn
A function that builds the object used to generate the POST request.
Requires an r
parameter.
Data type: Function
mapFn
accepts a table row (r
) and returns an object that must include the
following fields:
channel
text
silent
For more information, see telegram.message()
.
Examples
Send critical statuses to a Telegram channel
import "influxdata/influxdb/secrets"
import "contrib/sranka/telegram"
token = secrets.get(key: "TELEGRAM_TOKEN")
endpoint = telegram.endpoint(token: token)
crit_statuses = from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "statuses" and status == "crit")
crit_statuses
|> endpoint(mapFn: (r) => ({
channel: "-12345",
text: "Disk usage is **${r.status}**.",
silent: true
})
)
{{% note %}}