MultiChat / Development

An advanced cross-server chat management system for Bungeecord
GNU General Public License v3.0
48 stars 28 forks source link

Refactor and expand the API #103

Open metzg opened 4 years ago

metzg commented 4 years ago

Is your feature request related to a problem? Please describe. MultiChat's API is quite sparse, it currently only allows to listen to global, staff chat and broadcast events.

In order for developers to integrate their own plugins with MultiChat, it would need to be extended and maybe revamped.

Describe the solution you'd like The API could be used to listen to these events, if suitable and in MC's scope:

In addition, the API could also expose methods to:

The API would be available to both Waterfall plugins and Sponge/Spigot, so that plugins can be integrated in the place they make the most sense for a given scenario.

Describe alternatives you've considered For external integrations, I was thinking of implementing webhooks, Discord links or a built-in http/websocket server into MultiChat. But offering events via the internal API makes more sense and is more useful. Other plugins can then integrate with it, and a specific plugin can be developed independently to bridge MultiChat with third-party services.

Additional context My initial need was to send HelpMe alerts to staff members when they are not online (e.g. via Discord or webhook), but expanding the API to have various custom integrations without bloating the main plugin is better.

OllieMartin commented 4 years ago

Thanks for the suggestion. I will be implementing a proper API into v2.0 so I will try to make sure it suits your needs :)