getserverusers

This commit is contained in:
reality 2013-01-22 00:00:11 +00:00
parent 2f2356f2fd
commit b107f64efc
2 changed files with 22 additions and 15 deletions

View File

@ -9,13 +9,14 @@ var _ = require('underscore')._;
var ignore = function(dbot) { var ignore = function(dbot) {
var commands = { var commands = {
'~ignore': function(event) { '~ignore': function(event) {
var module = event.params[1]; var user = dbot.api.users.resolveUser(event.server, event.user),
var ignorableModules = _.chain(dbot.modules) module = event.params[1],
.filter(function(module, name) { ignorableModules = _.chain(dbot.modules)
return dbot.config[module].ignorable === true; .filter(function(module, name) {
}) return dbot.config[module].ignorable === true;
.pluck('name') })
.value(); .pluck('name')
.value();
if(_.isUndefined(module)) { if(_.isUndefined(module)) {
event.reply(dbot.t('ignore_usage', { event.reply(dbot.t('ignore_usage', {
@ -24,13 +25,13 @@ var ignore = function(dbot) {
})); }));
} else { } else {
if(_.include(ignorableModules, module)) { if(_.include(ignorableModules, module)) {
if(_.has(dbot.db.ignores, event.user) && _.include(dbot.db.ignores[event.user], module)) { if(_.has(dbot.db.ignores, user) && _.include(dbot.db.ignores[user], module)) {
event.reply(dbot.t('already_ignoring', { 'user': event.user })); event.reply(dbot.t('already_ignoring', { 'user': event.user }));
} else { } else {
if(_.has(dbot.db.ignores, module)) { if(_.has(dbot.db.ignores, module)) {
dbot.db.ignores[event.user].push(module); dbot.db.ignores[user].push(module);
} else { } else {
dbot.db.ignores[event.user] = [module]; dbot.db.ignores[user] = [module];
} }
dbot.instance.ignoreTag(event.user, module); dbot.instance.ignoreTag(event.user, module);
@ -46,11 +47,13 @@ var ignore = function(dbot) {
}, },
'~unignore': function(event) { '~unignore': function(event) {
var ignoredModules = []; var user = dbot.api.users.resolveUser(event.server, event.user),
module = event.params[1],
ignoredModules = [];
if(_.has(dbot.db.ignores, event.user)) { if(_.has(dbot.db.ignores, event.user)) {
ignoredModules = dbot.db.ignores[event.user]; ignoredModules = dbot.db.ignores[user];
} }
var module = event.params[1];
if(_.isUndefined(module)) { if(_.isUndefined(module)) {
event.reply(dbot.t('unignore_usage', { event.reply(dbot.t('unignore_usage', {
@ -59,8 +62,8 @@ var ignore = function(dbot) {
})); }));
} else { } else {
if(_.include(ignoredModules, module)) { if(_.include(ignoredModules, module)) {
dbot.db.ignores[event.user].splice(dbot.db.ignores[event.user].indexOf(module), 1); dbot.db.ignores[user].splice(dbot.db.ignores[user].indexOf(module), 1);
dbot.instance.removeIgnore(event.user, module) dbot.instance.removeIgnore(user, module)
event.reply(dbot.t('unignored', { event.reply(dbot.t('unignored', {
'user': event.user, 'user': event.user,
'module': module 'module': module

View File

@ -36,6 +36,10 @@ var api = function(dbot) {
return user; return user;
}, },
'getServerUsers': function(server) {
return dbot.db.knownUsers[server].users;
},
'isKnownUser': function(server, nick) { 'isKnownUser': function(server, nick) {
var knownUsers = this.getServerUsers(server); var knownUsers = this.getServerUsers(server);
return (_.include(knownUsers.users, nick) || _.has(knownUsers.aliases, nick)); return (_.include(knownUsers.users, nick) || _.has(knownUsers.aliases, nick));