node-red-node-discord 2.2.0

Discord nodes for recieving / sending messages.

npm install node-red-node-discord

node-red-node-discord

Inspired by node-red-contrib-discord

Node-red nodes that allow you to interact with Discord, via Discord.js. Can be used to implement simple write/read Bots

Installation

Run the following command in ~/.node-red:

npm install node-red-node-discord

Nodes

node-red-node-discord gives you access to following nodes:

  • discord-get-messages is a node with no inputs and one output allowing you to receive notifications of incoming messages.
  • discord-get-emoji-reactions is a node with no inputs and one output allowing you to receive notifications when user reacts on message with emoji.
  • discord-send-messages is a node with one input and no outputs allowing you to send messages to a Discord channel.
  • discord-members-monitoring is a node with one input and output, designed to get all channels and their's members for metrics.

discord-get-messages

  • Triggers whenever a message was received on Discord
  • You can pass list of channels to listen to Note : valid channel list example #1245#general#1234567#another-channel
  • msg.payload will be set to the textual content of the message
  • msg.channel will be set to an Object containing info on the channel the message was received from (does not contain any discord.js functions)
  • msg.author will be set to an Object containing info on the user that sent the message (does not contain any discord.js functions)
  • msg.attachments will be set to Array containing attachments info in format
    {
      filename: string, // Filename
      href: string // File Url generated by Discord
    }
    
  • msg.rawData will be set to an Object containing info on the message that was received, but again without any of the discord.js functions
  • To reply to a message, use the discord-send-messages node.

discord-send-messages

  • Sends msg.payload on Discord channel with id msg.channel You can pass channel name in msg.channel as well as id, i.e. general
    Note: this feature possibly can cause sending message to wrong channel if bot connected to multiple servers and there are same named channels

  • Feel free to @mention people in message.payload
    Example: Hello @Gago, nice module :) , also you can use @here, @everyone mentions

  • To use discord's rich text embed specify msg.rich with following content (props marked with ? are not required)

    {
       title?: string;
       description?: string;
         url?: string;
         color?: ColorResolvable;
         timestamp?: number | Date;
         footer?: {
                   icon?: string;
                   text: string;
                  };
         thumbnail?: string;
         author: {
                    name: string;
                 icon?: string;
                 url?: string;
               };
    
         attachments?: Attachment[];
         field?: {
                 name: string;
                 value: string;
                 inline?: boolean;
                 };
         fields?: [
                   {
                     name: string;
                     value: string;
                     inline?: boolean;
                   }
                 ];
    }
    
  • msg.attachments contains attachments to send, it must be array containing objects in format

    {
       name: string;
       file: string | Buffer | Stream;
    }
    

    discord-members-monitoring

    • Triggered from outside, for now doesn't provide any configuration options
    • Set's monitored data to msg.monitoringData with following content
    {
    [category: string]: [
        {
        id: string;
        channelName: string;
        members: [
            {
            id: string;
            username: string;
            joinedDate: Date;
            permissions: PermissionString[];
            roles: [
                {
                 id: string;
                name: string;
                permissions: number;
                }
                ]
            }
            ]
        }
        ]
    }
    

Node Info

Version: 2.2.0
Updated 5 years ago
License: GPL-2.0
Rating: 1.0 1

Categories

Actions

Rate:

Downloads

4 in the last week

Nodes

  • discord-token
  • discord-get-messages
  • discord-get-emoji-reactions
  • discord-send-messages
  • discord-monitor-members

Keywords

  • node-red
  • discord

Maintainers