Skip to content
javis86 edited this page Feb 25, 2024 · 23 revisions

Introduction

Welcome to the node-red-contrib-discord-advanced wiki!

This package is based on node-red-contrib-discord by Joris vd Donk which can be found here. That package hasn't been updated in a while and is lacking in a few features. Therefore this advanced package has been created to provide a more up-to-date and feature packed node library.

This package allows you to interact with Discord in Node-RED. It works by using DiscordJS and has the following actions build in:

  • Receive messages from any Discord servers your BOT is in.
  • Send messages in a specific channel.
  • Send private messages to users.
  • Send and edit embed messages.
  • Add attachments to messages.
  • Edit, reply, delete messages in a channel.
  • Publish messages to announcements channels.
  • React to messages with emojis.
  • Listen for reactions on a message.
  • Listen for interactions on a message button or select menu.
  • Listen for interactions on commands.
  • Set Status text of the Bot
  • Get permissions of a specific user. Add and remove roles. Listen when a user joins or leaves a guild.
  • Change channel's name.
  • Allow full control over the BOT by access to the DiscordJS client.

All these features are packed into 9 nodes:

To find out how to setup the nodes in Node-RED you can head over to the installation and setup page.

Privileged Intents

Key migration points from 3.4.x to 3.5.0

Native behavior of discord interactions

When a command is sent by an user, discord displays messages like "Bot is thinking...". Versions < 3.4 of node-red-contrib-discord-advanced manage this interaction by replying with a default text message. From 3.5.0, this library always defers replies and updates, keeping in memory the reference to the interaction in order to interact moments later within the flow with the new node discordInteractionManager.

Replacing discordMessageManager for discordInteractionManager

Now all interactions are replied with discordInteractionManager node, so there are several scenarios for having in mind. This is a breaking change. It's mandatory to take a look on examples to prevent breaking flows.

Examples

Support

This WIKI will provide most of the documentation needed to setup and use the nodes. If after reading the WIKI you still need support you can find us on this Discord server.

Issues

Issues can also be reported via the Discord server but it's preferably done via the GitHub Issues which can be found here.

Feature requests

Feature requests are very welcome and they can be submitted via the Discord server too.

Resources