discord

Consumes messages posted in a Discord channel.

  • Common

  • Advanced

# Common config fields, showing default values
input:
  label: ""
  discord:
    channel_id: "" # No default (required)
    bot_token: "" # No default (required)
    cache: "" # No default (required)
    auto_replay_nacks: true
# All config fields, showing default values
input:
  label: ""
  discord:
    channel_id: "" # No default (required)
    bot_token: "" # No default (required)
    cache: "" # No default (required)
    cache_key: last_message_id
    auto_replay_nacks: true

This input works by authenticating as a bot using token based authentication. The ID of the newest message consumed and acked is stored in a cache in order to perform a backfill of unread messages each time the input is initialised. Ideally this cache should be persisted across restarts.

Fields

channel_id

A discord channel ID to consume messages from.

Type: string

bot_token

A bot token used for authentication.

Type: string

cache

A cache resource to use for performing unread message backfills, the ID of the last message received will be stored in this cache and used for subsequent requests.

Type: string

cache_key

The key identifier used when storing the ID of the last message received.

Type: string

Default: "last_message_id"

auto_replay_nacks

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation.

Type: bool

Default: true