diff --git a/modules/regex/config.json b/modules/regex/config.json new file mode 100644 index 0000000..c945e96 --- /dev/null +++ b/modules/regex/config.json @@ -0,0 +1,3 @@ +{ + "ignorable": true +} diff --git a/modules/regex/regex.js b/modules/regex/regex.js new file mode 100644 index 0000000..9292951 --- /dev/null +++ b/modules/regex/regex.js @@ -0,0 +1,26 @@ +var _ = require('underscore')._; + +var regex = function(dbot) { + this.last = {}; + this.listener = function(event) { + var q = event.message.valMatch(/^s\/(.+)\/(.+)\/$/, 3); + if(q) { + var toMatch = new RegExp(q[1]); + var replaceWith = q[2]; + var last = this.last[event.channel.name][event.user]; + event.reply(event.user + " meant: " + last.replace(toMatch, replaceWith)); + } else { + if(_.has(this.last, event.channel.name)) { + this.last[event.channel.name][event.user] = event.message; + } else { + this.last[event.channel.name] = { }; + this.last[event.channel.name][event.user] = event.message; + } + } + }.bind(this); + this.on = [ 'PRIVMSG' ]; +}; + +exports.fetch = function(dbot) { + return new regex(dbot); +};