mirror of
https://github.com/reality/dbot.git
synced 2024-11-30 16:09:27 +01:00
52 lines
1.7 KiB
JavaScript
52 lines
1.7 KiB
JavaScript
var _ = require('underscore')._;
|
|
|
|
var api = function(dbot) {
|
|
return {
|
|
// Is user ignoring command/module?
|
|
'isUserIgnoring': function(server, user, item, callback) {
|
|
this.internalAPI.isUserImpeded(server, user, item, 'ignores', callback);
|
|
},
|
|
|
|
// Is user banned from command/module?
|
|
'isUserBanned': function(server, user, item, callback) {
|
|
this.internalAPI.isUserImpeded(server, user, item, 'bans', callback);
|
|
},
|
|
|
|
// Is channel ignoring module?
|
|
// TODO: Command support
|
|
'isChannelIgnoring': function(server, channelName, item, callback) {
|
|
var isIgnoring = false,
|
|
channel = false;
|
|
|
|
this.db.search('channel_ignores', {
|
|
'server': server,
|
|
'name': channel
|
|
}, function(result) {
|
|
channel = result;
|
|
}, function(err) {
|
|
if(!err && channel && _.include(channel.ignores, item)) {
|
|
isIgnoring = true;
|
|
}
|
|
callback(isIgnoring);
|
|
});
|
|
},
|
|
|
|
// Resolve a nick and return their user and ignores object
|
|
'getUserIgnores': function(server, user, callback) {
|
|
dbot.api.users.resolveUser(server, user, function(user) {
|
|
if(user) {
|
|
this.db.read('ignores', user.id, function(err, ignores) {
|
|
callback(false, user, ignores);
|
|
});
|
|
} else {
|
|
callback(true, null, null);
|
|
}
|
|
}.bind(this));
|
|
}
|
|
};
|
|
}
|
|
|
|
exports.fetch = function(dbot) {
|
|
return api(dbot);
|
|
};
|