2014-09-13 17:29:45 -04:00
|
|
|
var _ = require("lodash");
|
|
|
|
var User = require("../../models/user");
|
|
|
|
|
|
|
|
module.exports = function(irc, network) {
|
|
|
|
var client = this;
|
2016-03-07 16:09:42 -05:00
|
|
|
irc.on("userlist", function(data) {
|
2016-03-20 10:28:47 -04:00
|
|
|
var chan = network.getChannel(data.channel);
|
2014-09-13 17:29:45 -04:00
|
|
|
if (typeof chan === "undefined") {
|
|
|
|
return;
|
|
|
|
}
|
2016-09-24 12:34:35 -04:00
|
|
|
|
2014-09-13 17:29:45 -04:00
|
|
|
chan.users = [];
|
2016-03-11 11:34:50 -05:00
|
|
|
|
2016-09-24 12:34:35 -04:00
|
|
|
_.each(data.users, function(u) {
|
|
|
|
var user = new User(u, network.prefixLookup);
|
2016-03-11 11:34:50 -05:00
|
|
|
|
|
|
|
chan.users.push(user);
|
2014-09-13 17:29:45 -04:00
|
|
|
});
|
2016-09-24 12:34:35 -04:00
|
|
|
|
2016-03-14 07:44:06 -04:00
|
|
|
chan.sortUsers(irc);
|
2016-09-24 12:34:35 -04:00
|
|
|
|
2014-09-13 17:29:45 -04:00
|
|
|
client.emit("users", {
|
2016-02-16 21:29:44 -05:00
|
|
|
chan: chan.id
|
2014-09-13 17:29:45 -04:00
|
|
|
});
|
|
|
|
});
|
|
|
|
};
|