diff --git a/modules/charybdis/charybdis.js b/modules/charybdis/charybdis.js new file mode 100644 index 0000000..9985610 --- /dev/null +++ b/modules/charybdis/charybdis.js @@ -0,0 +1,31 @@ +/** + * Module Name: charybdis + * Description: charybdis and atheme mode references + */ +var _ = require('underscore')._; + +var charybdis = function(dbot) { + this.commands = { + '~chanserv': function(event) { + if(_.has(this.config.chanserv, event.input[1])) { + event.reply('ChanServ flag ' + event.input[1] + ': ' + this.config.chanserv[event.input[1]]); + } else { + event.reply('I don\'t know anything about ' + event.input[1]); + } + }, + + '~chanmode': function(event) { + if(_.has(this.config.chanmodes, event.input[1])) { + event.reply('Channel Mode ' + event.input[1] + ': ' + this.config.chanmodes[event.input[1]]); + } else { + event.reply('I don\'t know anything about ' + event.input[1]); + } + } + }; + this.commands['~chanserv'].regex = [/^~chanserv (\+.)/, 2] + this.commands['~chanmode'].regex = [/^~chanmode (\+.)/, 2] +}; + +exports.fetch = function(dbot) { + return new charybdis(dbot); +}; diff --git a/modules/charybdis/config.json b/modules/charybdis/config.json new file mode 100644 index 0000000..bfa430f --- /dev/null +++ b/modules/charybdis/config.json @@ -0,0 +1,50 @@ +{ + "chanserv": { + "+v": "Enables use of the voice/devoice commands.", + "+V": "Enables automatic voice.", + "+h": "Enables use of the halfop/dehalfop commands.", + "+H": "Enables automatic halfop.", + "+o": "Enables use of the op/deop commands.", + "+O": "Enables automatic op.", + "+a": "Enables use of the protect/deprotect commands.", + "+q": "Enables use of the owner/deowner commands.", + "+s": "Enables use of the set command.", + "+i": "Enables use of the invite and getkey commands.", + "+r": "Enables use of the kick, kickban, ban and unban commands.", + "+r": "Enables use of the ban and unban commands.", + "+r": "Enables use of the unban command.", + "+R": "Enables use of the recover and clear commands.", + "+f": "Enables modification of channel access lists.", + "+t": "Enables use of the topic and topicappend commands.", + "+A": "Enables viewing of channel access lists.", + "+S": "Marks the user as a successor.", + "+F": "Grants full founder access.", + "+b": "Enables automatic kickban." + }, + "chanmodes": { + "+b": "channel ban", + "+c": "colour filter", + "+e": "ban exemption", + "+f": "channel forwarding", + "+F": "allow anybody to forward to this", + "+g": "allow anybody to invite", + "+i": "invite only", + "+I": "invite exception (invex)", + "+j": "join throttling", + "+k": "key (channel password)", + "+l": "channel member limit", + "+L": "large ban list", + "+m": "moderated", + "+n": "no external messages", + "+o": "channel operator", + "+p": "paranoid channel", + "+P": "permanent channel", + "+q": "quiet", + "+Q": "block forwarded users", + "+r": "block unidentified", + "+s": "secret channel", + "+t": "topic limit", + "+v": "voice", + "+z": "reduced moderation" + } +}