Documentation

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


New! Cloud or OSS?

InfluxDB OSS 2.0 now generally available!

InfluxDB OSS 2.0 is now generally available and ready for production use. See the InfluxDB OSS 2.0 release notes.

For information about upgrading to InfluxDB OSS 2.0, see: