Active development for Discord nodes?

#1

Hi,
I was just introduced to the amazing world of node-red and I'm blown away at the potential that lies here.
I've been trying quite hard to find integration with Discord but so far I've only found node-red-contrib-discord which does not seem to be very active and as of right now at least only features basic send/recieve message.

With Discord probably being one of the, if not THE largest chat/communication platforms out there I was just looking to see if you guys know of any other project currently taking place to bring Discord functionality into node-red that I have yet to find.
The library Discord.js (https://discord.js.org/) is practically 100% feature complete so I imagine someone out there might already be doing this and, I suspect, much much quicker and more efficiently than if I were to start building it myself.

0 Likes

#2

Sounds like you are talking yourself into writing your first custom node :smile:

I suppose my question is - exactly what kinds of integration do you propose?

0 Likes

#3

If you can do it do it. If it turns out later that work got duplicated somewhere, then so be it; the userbase will speak on what is best.

0 Likes

#4

Thanks for the response =)
Other than some html/php and very basic javascripting and python my programming skills are elemental to say the least. But yea I'll try to give it a shot and see if I get anywhere.

@TotallyInformation
Other than basic send/receive posts some of the first things I have in mind is:

  • Store user info (e.g. replying directly at user or sending private message, storing user avatar for custom messages, store date when user joined channel etc)
  • Find Channel/store channel info (only listen for messages in specific channel, only send messages to specific channel)
  • Remove messages (e.g. spam, only allow command messages in certain channels)
  • Read reaction (e.g. do a poll and read result by thumbs up/down)
  • Read/set roles (e.g. check if user has a specific role before proceeding with flow, assign role to user based on X)
  • Embeds (own set of classes in discord.js but might be able to do the same through certain format of json in the send post)
  • Send file
  • Edit posts (e.g. update readme post with total number of concurrent online users whenever previous number has been exceeded)
  • Bot status/rich embed (not sure if this is possible)

I have not even started thinking about potential voice integration.

For future readers of this post; if I have not updated this thread I have nothing to show for and you are probably better off finding Discord integration elsewhere.

0 Likes

#5

No better way to learn that to have a project that means something to you :slight_smile:

I'm sure you don't need this but my advise would be to start simple. Get some basics in place so that you work out how Node-RED nodes communicate and setup/shutdown. Then look at the authentication next. Hopefully, the existing node, while it may be basic, may give you some good pointers to get going. And you have the NodeJS module to work with as well so that should make things easier.

Hopefully this might also help, it is a heavily commented dummy node that I wrote some while back when trying to learn to create my own nodes. It may not be entirely up-to-date now but should at least help you understand the structure of a node and what happens when.

0 Likes

#6

Thanks a lot, really appreciate it!

0 Likes