[RFC 002] Developer Resources

Introduction

This RFC is here for developers to let us know what resources they would like for us to implement. Resources that would allow you to develop plugins, track statistics, etc. Just let us know what you need, and we’ll investigate into it :slight_smile:

We have plans to implement a large number of features to cater to developers and users alike; from APIs, hosted resources, to web interfaces and more.

As NucleusBot gets closer to it’s public Beta release, we want to start working toward allowing other users to build off of the platform to suite their needs. Not everyone should need to build the entire foundation of a chat bot to reach desirable functionality.

Applications

Just like most 3rd party applications on the internet, we allow developers to register Applications with NucleusBot so that they may make use of resources linked to their credentials.

New Applications can be registered via the Dashboard “Plugins” page to receive an application public/private key pair.

The key pair will be usable in obtaining API tokens.

Plugins

We consider applications that build off of our platform to be called “Plugins” (Applications that we build off of are labeled as “Integrations”). Due to the nature of NucleusBot (Being cloud hosted) we are investigating ways for third-party developers to integrate features such as custom commands without also having to host anything themselves.

We may either sandbox a JavaScript or Lua shell to allow more indepth commands than the ones we provide. Text commands with variables can go a long distance, but code can go even further. Our variables will still be accessible to the scripts of course, but so would many other code functions.

(If you would rather see a Lua shell or JavaScript shell let us know in the comments!)

↳ Plugins: Desktop Application

We also have plans to develop a desktop application that will make accessing the bot a breeze. The desktop application will be designed to display chat, handle a music player, control the bot, as well as be capable of handling plugins made by anyone capable. We’re still investigating on how we should build this around our needs. We’re highly avoiding Electron and looking for a lightweight solution.

Webhooks

Once our API becomes more completed, we will also start investigating implementing webhooks so that third-party developers can receive updates without the need of polling.

Some of these following webhooks may be available:

  • Command creation / edits / deletion
  • Community / Group changes
  • Channel Rank changes
  • API Token changes

If you’re a developer and would like to build something on top of NucleusBot, let us know how we can help you achieve your goal.

Thanks,

- TheElm