discord.endpoint() function
The discord.endpoint()
function is a user-contributed function maintained by the package author and can be updated or removed at any time.
The discord.endpoint()
function sends a single message to a Discord channel using a Discord webhook and data from table rows.
*Function type: Output*
import "contrib/chobbs/discord"
discord.endpoint(
webhookToken: "mySuPerSecRetTokEn",
webhookID: "123456789",
username: "username",
avatar_url: "https://example.com/avatar_pic.jpg"
)
Parameters
webhookToken
Discord webhook token.
*Data type: String*
webhookID
Discord webhook ID.
*Data type: String*
username
Override the Discord webhook’s default username.
*Data type: String*
avatar_url
Override the Discord webhook’s default avatar.
*Data type: String*
Usage
discord.endpoint
is a factory function that outputs another function. The output function requires a mapFn
parameter.
mapFn
A function that builds the record used to generate the Discord webhook request. Requires an r
parameter.
*Data type: Function*
mapFn
accepts a table row (r
) and returns a record that must include the following field:
content
For more information, see the discord.send() content
parameter.
Examples
Send critical statuses to a Discord channel
import "influxdata/influxdb/secrets"
import "contrib/chobbs/discord"
discordToken = secrets.get(key: "DISCORD_TOKEN")
endpoint = telegram.endpoint(
webhookToken: discordToken,
webhookID: "123456789",
username: "critBot"
)
crit_statuses = from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "statuses" and status == "crit")
crit_statuses
|> endpoint(mapFn: (r) => ({
content: "The status is critical!",
})
)()
Package author and maintainer
Github: @chobbs
InfluxDB Slack: @craig