mirror of
https://github.com/reality/dbot.git
synced 2024-11-27 14:29:29 +01:00
event majigger as per [#205]
This commit is contained in:
parent
656024d87b
commit
4376989df4
28
modules/event/event.js
Normal file
28
modules/event/event.js
Normal file
@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Module Name: event
|
||||
* Description: Allow other modules to emit events and that
|
||||
*/
|
||||
var _ = require('underscore')._;
|
||||
|
||||
var event = function(dbot) {
|
||||
this.dbot = dbot;
|
||||
this.hooks = {};
|
||||
this.api = {
|
||||
'addHook': function(eventName, callback) {
|
||||
if(!_.has(this.hooks, eventName)) this.hooks[eventName] = [];
|
||||
this.hooks[eventName].push(callback);
|
||||
},
|
||||
|
||||
'emit': function(eventName, args) {
|
||||
if(_.has(this.hooks, eventName)) {
|
||||
_.each(this.hooks[eventName], function(callback) {
|
||||
callback.apply(callback.module, args);
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
exports.fetch = function(dbot) {
|
||||
return new event(dbot);
|
||||
};
|
Loading…
Reference in New Issue
Block a user