modular, single-file eventemitter-based IRC bot with extensible config, modules, encrypted datastore and awesome logging
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
modules
.gitignore
LICENSE
README
alias_manager.js
config_manager.js
configs.example.yml
constants.json
ircbot.js
module_manager.js
node-irc-bot-3.sublime-project
setnodepath.bat

README

node-irc-bot-3
==============

Like the third time I'm remaking node-irc-bot. At least I like it this time :D

## Running

Here's how:

    $ npm install q yamljs eventemitter2 underscore
    $ node ircbot

## Configuring

First, copy `configs.example.yml` into `configs.yml`.
The [YAML][yaml] configuration file has comments inside - go read them! :D

[yaml]: http://www.yaml.org/

## Making modules

There's two kinds - one that hooks straight into event streams, and another that 
uses the "commands" event stream alone, which is more straight-forward (since commands
are well documented) and brings with it stability. 

To find out more about the 'event' kind, go check out `modules/module-logging.js`.   
To find out more about the 'command' kind, go check out `modules/module-test.js`.  

I've written a bunch of stuff into these two files about the specific module kinds, and
these files are a good starting point for future modules.

## Todo

[ ] More modules (TPTnet, Google/search, xkcd)
[ ] Extra secrets
[ ] Command interpolation (eg `\hug {mangler.rot13 {mangler.rot13 boxmein}}`)
[ ] Global permissions
[ ] Reloadable 'event'-type modules
[ ] TPT module: user- and moderator-level tools to do stuff :D
[ ] Segregating the huge "ircbot.js" file (do I need this?)
[ ] Pretty up the code for Github (maybe)

## Credit

boxmein 2015. see the file LICENSE for a copy-pasted MIT License.