community.general.discord – Send Discord messages

Note

This plugin is part of the community.general collection (version 3.8.3).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.discord.

New in version 3.1.0: of community.general

Synopsis

  • Sends a message to a Discord channel using the Discord webhook API.

Parameters

Parameter

Comments

avatar_url

string

Overrides the default avatar of the webhook.

content

string

Content of the message to the Discord channel.

At least one of content and embeds must be specified.

embeds

list / elements=dictionary

Send messages as Embeds to the Discord channel.

Embeds can have a colored border, embedded images, text fields and more.

Allowed parameters are described in the Discord Docs: https://discord.com/developers/docs/resources/channel#embed-object

At least one of content and embeds must be specified.

tts

boolean

Set this to true if this is a TTS (Text to Speech) message.

Choices:

  • no ← (default)

  • yes

username

string

Overrides the default username of the webhook.

webhook_id

string / required

The webhook ID.

Format from Discord webhook URL: /webhooks/{webhook.id}/{webhook.token}.

webhook_token

string / required

The webhook token.

Format from Discord webhook URL: /webhooks/{webhook.id}/{webhook.token}.

See Also

See also

API documentation

Documentation for Discord API

Examples

- name: Send a message to the Discord channel
  community.general.discord:
    webhook_id: "00000"
    webhook_token: "XXXYYY"
    content: "This is a message from ansible"

- name: Send a message to the Discord channel with specific username and avatar
  community.general.discord:
    webhook_id: "00000"
    webhook_token: "XXXYYY"
    content: "This is a message from ansible"
    username: Ansible
    avatar_url: "https://docs.ansible.com/ansible/latest/_static/images/logo_invert.png"

- name: Send a embedded message to the Discord channel
  community.general.discord:
    webhook_id: "00000"
    webhook_token: "XXXYYY"
    embeds:
      - title: "Embedded message"
        description: "This is an embedded message"
        footer:
          text: "Author: Ansible"
        image:
          url: "https://docs.ansible.com/ansible/latest/_static/images/logo_invert.png"

- name: Send two embedded messages
  community.general.discord:
    webhook_id: "00000"
    webhook_token: "XXXYYY"
    embeds:
      - title: "First message"
        description: "This is my first embedded message"
        footer:
          text: "Author: Ansible"
        image:
          url: "https://docs.ansible.com/ansible/latest/_static/images/logo_invert.png"
      - title: "Second message"
        description: "This is my first second message"
        footer:
          text: "Author: Ansible"
          icon_url: "https://docs.ansible.com/ansible/latest/_static/images/logo_invert.png"
        fields:
          - name: "Field 1"
            value: "Value of my first field"
          - name: "Field 2"
            value: "Value of my second field"
        timestamp: "{{ ansible_date_time.iso8601 }}"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

http_code

integer

Response Code returned by Discord API.

Returned: always

Sample: 204

Authors

  • Christian Wollinger (@cwollinger)