3
0
mirror of https://github.com/reality/dbot.git synced 2024-11-27 22:39:26 +01:00

some bug fixes

This commit is contained in:
reality 2014-09-04 10:15:52 +00:00
parent 905ced9485
commit 8ba4db33a7
3 changed files with 19 additions and 15 deletions

View File

@ -1,7 +1,7 @@
var _ = require('underscore')._; var _ = require('underscore')._;
var api = function(dbot) { var api = function(dbot) {
this.api = { var api = {
// Retrieve a user record given a server and nickname // Retrieve a user record given a server and nickname
'resolveUser': function(server, nick, callback) { 'resolveUser': function(server, nick, callback) {
var id = nick + '.' + server; var id = nick + '.' + server;
@ -62,6 +62,8 @@ var api = function(dbot) {
}); });
} }
}; };
return api;
}; };
exports.fetch = function(dbot) { exports.fetch = function(dbot) {

View File

@ -1,7 +1,7 @@
var _ = require('underscore')._; var _ = require('underscore')._;
var commands = function(dbot) { var commands = function(dbot) {
this.commands = { var commands = {
'~alias': function(event) { '~alias': function(event) {
var nick = event.params[1] || event.user; var nick = event.params[1] || event.user;
this.api.resolveUser(event.server, nick, function(err, user) { this.api.resolveUser(event.server, nick, function(err, user) {
@ -124,10 +124,12 @@ var commands = function(dbot) {
}.bind(this)); }.bind(this));
} }
}; };
this.commands['~setaliasparent'].access = 'moderator'; commands['~setaliasparent'].access = 'moderator';
this.commands['~addalias'].access = 'moderator'; commands['~addalias'].access = 'moderator';
this.commands['~rmalias'].access = 'moderator'; commands['~rmalias'].access = 'moderator';
this.commands['~mergeusers'].access = 'moderator'; commands['~mergeusers'].access = 'moderator';
return commands;
}; };
exports.fetch = function(dbot) { exports.fetch = function(dbot) {

View File

@ -24,7 +24,7 @@ var users = function(dbot) {
callback(true, null); callback(true, null);
} }
}); });
}, }.bind(this),
// Add new user alias // Add new user alias
'createAlias': function(alias, user, callback) { 'createAlias': function(alias, user, callback) {
@ -41,7 +41,7 @@ var users = function(dbot) {
callback(true, null); callback(true, null);
} }
}); });
}, }.bind(this),
// Remove an alias record // Remove an alias record
'removeAlias': function(server, alias) { 'removeAlias': function(server, alias) {
@ -49,7 +49,7 @@ var users = function(dbot) {
this.db.del('user_aliases', id, function(err) { this.db.del('user_aliases', id, function(err) {
callback(err); callback(err);
}); });
}, }.bind(this),
// Update current nick of user record // Update current nick of user record
'updateCurrentNick': function(user, newNick, callback) { 'updateCurrentNick': function(user, newNick, callback) {
@ -62,7 +62,7 @@ var users = function(dbot) {
callback(true, null); callback(true, null);
} }
}); });
}, }.bind(this),
// Merge two user records and aliases // Merge two user records and aliases
'mergeUsers': function(oldUser, newUser, callback) { 'mergeUsers': function(oldUser, newUser, callback) {
@ -82,7 +82,7 @@ var users = function(dbot) {
callback(true); callback(true);
} }
}); });
}, }.bind(this),
// Set a new nick as the parent for a user (so just recreate and merge) // Set a new nick as the parent for a user (so just recreate and merge)
'reparentUser': function(user, newPrimary, callback) { 'reparentUser': function(user, newPrimary, callback) {
@ -91,7 +91,7 @@ var users = function(dbot) {
callback(err); callback(err);
}); });
}.bind(this)); }.bind(this));
} }.bind(this)
}; };
/*** Listener ***/ /*** Listener ***/
@ -114,7 +114,7 @@ var users = function(dbot) {
this.onLoad = function() { this.onLoad = function() {
// Create non-existing users and update current nicks // Create non-existing users and update current nicks
var checkUser = function(done) { var checkUser = function(event, done) {
this.api.resolveUser(event.server, event.user, function(err, user) { this.api.resolveUser(event.server, event.user, function(err, user) {
if(!user) { if(!user) {
this.internalAPI.createUser(event.server, event.user, done); this.internalAPI.createUser(event.server, event.user, done);
@ -126,11 +126,11 @@ var users = function(dbot) {
} }
} }
}.bind(this)); }.bind(this));
}; }.bind(this);
dbot.instance.addPreEmitHook(function(event, callback) { dbot.instance.addPreEmitHook(function(event, callback) {
if(event.user && _.include(['JOIN', 'PRIVMSG'], event.action)) { if(event.user && _.include(['JOIN', 'PRIVMSG'], event.action)) {
checkUser(function(err, user) { checkUser(event, function(err, user) {
event.rUser = user; event.rUser = user;
callback(null); callback(null);
}); });