Plugins are objects which respond to
#receive_line, and would will receive a reference to the
IrcMachine::Session when instantiated. It should use that reference to send IRC commands.
Plugins may also implement the RESTful HTTP API by creating routes. The pattern for this would look something like:
def initialize(*args) route(:get, "/endpoint", :endpoint) super end def endpoint(request, match) ok request.body.read end
You should copy
irc_machine.json, or set
IRC_MACHINE_CONF to the name of the config file.
Plugins are enabled by their class name specified in the
plugins array, everything under
irc_machine/plugin will be loaded at boot time, however.
We ship agent99 with a small collection of useful plugins for integrating with the services with use- Github, JuiCI, Jenkins and the like.
We also ship a collection of totally unuseful plugins, for generating memes, using Google's images search or yelling Yarr
agent99 is: © 99designs, 2012, MIT license
All source code from irc_machine is: © Paul Annesley, 2011, MIT license