Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proper Plugin Management #25

Open
Einarin opened this issue Dec 24, 2015 · 3 comments
Open

Proper Plugin Management #25

Einarin opened this issue Dec 24, 2015 · 3 comments

Comments

@Einarin
Copy link
Collaborator

Einarin commented Dec 24, 2015

We kinda sorta have a little bit of a plugin architecture now, but it needs work. In particular plugins having npm dependencies is a mess. It'd be nice to be able to enable and disable individual plugins via config. etc.

@chalda
Copy link
Owner

chalda commented Feb 5, 2016

Ok its really time to do this the right way.

Re: Pull request #46 I am not entirely sure what you are doing with the keyword search there. The bot should have permissions set by server admin. Commands should have privileges (or be public). The keyword block is sort of a crude way of doing that.

Lets start a discussion for this pull request so we can architect the shit out of this. The plugins/commands right now are a huge mess.

@devlix so the only issue I have is, I am looking into building Windows/OSX/Linux binaries out of this for easier distribution (cause fuck everything about how people need to deploy this right now..). So the only downside is that the builders really want you to have all your dependencies preinstalled. This means that dynamic requirement loading is awesome but might make this a bit challenging. Ill look into if there is a tool that will load binaries from NPM directly or something... It also becomes an issue if the plugins are to work the way i think they should:

download a zip from someones github/website. drop it into your plugins folder. reload bot.

Perhaps its worth looking into HuBot (runs on CoffeeScript/Node) or other big chatbots out there to see how they do it

@Einarin @devlix @milesflo (just tagging main commiters so far thanks guyst! :D)

@christoabrown
Copy link
Collaborator

How does this binary stuff work? As it is right now when it goes to download the required modules for plugins it uses the 'npm' module which should download the modules whether or not the user has npm set up correctly in windows path etc.

@Einarin
Copy link
Collaborator Author

Einarin commented Sep 20, 2016

Is this done-ish? we have plugins now via plugins.js , but most of the commands are still in discord_bot.js. Moving things would be an easy change for someone who wants to contribute.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants