Skip to content

better plugin distribution #102

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

Open
rmmh opened this issue Apr 6, 2014 · 3 comments
Open

better plugin distribution #102

rmmh opened this issue Apr 6, 2014 · 3 comments

Comments

@rmmh
Copy link
Owner

rmmh commented Apr 6, 2014

There should be a way to add/remove plugins without forking skybot. Most people don't need to modify the core, but do want to customize the commands.

Git submodules + host them in gists?

@ednos
Copy link

ednos commented Apr 6, 2014

Just being able to throw an URL to a Git repository (or a gist) into a list in the configuration would be fantastic. It'd also be great to set a refresh time for checking for updates, and reloading plugins automatically if an update occurred. Can plugins currently be added and removed while skybot is running?

(I mean, or just have a plugin per directory in the plugins folder, and manage plugins your damn self, et cetera.)

@rmmh
Copy link
Owner Author

rmmh commented Apr 6, 2014

I'm slightly wary about automatically updating plugins from a gist url -- far too easy to make a bot do something malicious.

Skybot supports hot plugin reloading.

A directory in plugins/ for each additional source would work nicely. Configuration wouldn't necessarily have to be through config.json. A central repo (skybot-plugins) with a bunch of submodule pointers to 'known-good' plugins that a manager can install from is one possibility.

@avidal
Copy link
Contributor

avidal commented Jun 17, 2014

👍 on skybot-plugins as a registry. Submodules to known-good/vetted plugins on github.

Then the plugin list can be:

  • plugin-name, which is fetched from the skybot-plugins/:plugin
  • author/plugin, which is fetched from github.com/:author/:plugin

But at which point is it turning what should be a simple bot into A Real Thing? Does skybot itself have a plugin install | update | remove subcommand? Are they git submodules or subtrees or just a download/extract of the tarball? What if the skybot "install" isn't from a git clone?

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

No branches or pull requests

3 participants