var _ = require('underscore')._; var api = function(dbot) { return { // Is user ignoring command/module? 'isUserIgnoring': function(user, item, callback) { this.internalAPI.isUserImpeded(user, item, 'ignores', callback); }, // Is user banned from command/module? 'isUserBanned': function(user, item, callback) { this.internalAPI.isUserImpeded(user, item, 'bans', callback); }, // Is channel ignoring module? // TODO: Command support 'isChannelIgnoring': function(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(user, callback) { this.db.read('ignores', user.id, function(err, ignores) { if(!err && ignores) { callback(false, ignores); } else { callback(true, null); } }); } }; } exports.fetch = function(dbot) { return api(dbot); };