hardlounge/src/plugins/irc-events/error.js

54 lines
1.3 KiB
JavaScript
Raw Normal View History

2014-09-13 17:29:45 -04:00
var Msg = require("../../models/msg");
module.exports = function(irc, network) {
var client = this;
// TODO: remove later
2016-03-08 04:54:17 -05:00
irc.on("irc_error", function(data) {
2016-04-16 07:32:38 -04:00
log.debug("Got an irc_error");
irc.emit("error", data);
});
irc.on("error", function(data) {
2016-04-16 07:32:38 -04:00
log.debug("error", data);
var text = data.error;
if (data.reason) {
text = data.reason + " (" + text + ")";
}
2014-09-13 17:29:45 -04:00
var lobby = network.channels[0];
var msg = new Msg({
type: Msg.Type.ERROR,
text: text,
2014-09-13 17:29:45 -04:00
});
lobby.pushMessage(client, msg);
2016-03-08 04:54:17 -05:00
});
irc.on("nick in use", function(data) {
var lobby = network.channels[0];
var msg = new Msg({
type: Msg.Type.ERROR,
2016-04-04 14:32:21 -04:00
text: data.nick + ": " + (data.reason || "Nickname is already in use."),
2016-03-08 04:54:17 -05:00
});
lobby.pushMessage(client, msg);
2016-03-08 04:54:17 -05:00
if (irc.connection.registered === false) {
var random = (data.nick || irc.user.nick) + Math.floor(10 + (Math.random() * 89));
irc.changeNick(random);
}
2014-09-13 17:29:45 -04:00
});
irc.on("nick invalid", function(data) {
var lobby = network.channels[0];
var msg = new Msg({
type: Msg.Type.ERROR,
2016-04-04 14:32:21 -04:00
text: data.nick + ": " + (data.reason || "Nickname is invalid."),
});
lobby.pushMessage(client, msg);
if (irc.connection.registered === false) {
var random = "i" + Math.random().toString(36).substr(2, 10); // 'i' so it never begins with a number
irc.changeNick(random);
}
});
2014-09-13 17:29:45 -04:00
};