Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
};
server1.start();
server2.start();
server3.start();
server4.start();
// TODO: Make a client join, oper, then link the two servers
// and fix the other tests
var client,
client2,
client3;
client = new irc.Client('localhost', 'alex', {
channels: ['#test'],
port: 6667,
debug: false
});
client2 = new irc.Client('localhost', 'bob', {
channels: ['#test'],
port: 8000,
debug: false
});
client3 = new irc.Client('localhost', 'alice', {
channels: ['#test'],
port: 8001,
debug: false
});
separator = "*";
var colors = [
"orange",
"light_magenta",
"dark_blue",
"gray",
"yellow",
"light_red",
"light_magenta",
"light_cyan"
];
var last = [];
var ircclient = new irc.Client(server, nick, {debug: false, showErrors: true, floodProtection: false, floodProtectionDelay: 0, channels: ["#github"]});
/* listeners */
ircclient.addListener('error', function(message) {
console.log('irc error: ' + message);
});
ircclient.on("error", function(err){
console.log("irc error: " + err);
});
ircclient.addListener('message', function (from, to, message) {
console.log(from + ' => ' + to + ': ' + message);
});
function createClient (socket, info, clientId) {
console.log("Creating new IRC client instance");
// Create the IRC client instance.
var client = new irc.Client(info.server, info.nick, {
channels: [info.channel],
userName: info.nick,
password: info.nicknamePassword,
realName: info.realName,
port: info.port,
floodProtection: true,
floodProtectionDelay: 1000,
autoRejoin: true,
autoConnect: false,
secure: false,
selfSigned: false,
certExpired: false,
sasl: false,
stripColors: true,
messageSplit: 512,
showErrors: true
function createClient(socket, info, clientId) {
// Create the IRC client instance
console.log('Creating new IRC client instance');
let _debug = false;
if (env === 'development') {
_debug = true;
}
const client = new irc.Client(info.server, info.nick, {
userName: info.nick,
realName: info.realName,
password: info.nicknamePassword,
port: info.port,
localAddress: null,
debug: _debug,
showErrors: true,
autoRejoin: true,
autoConnect: false,
channels: [info.channel],
retryCount: null,
retryDelay: 2000,
secure: false,
selfSigned: false,
certExpired: false,
floodProtection: true,
lastMsg = msg;
if (debug) {
console.log(chalk.green('Response (via ' + channel + '):'), msg);
}
},
opt : this.client.opt
};
this.testMsg = function(msg) {
this.onmessage('TestUser', '#test', msg);
};
this.lastMsg = function(){
return lastMsg;
};
} else {
// connect to the irc server
this.client = new irc.Client(this.settings.server, this.settings.botname, {
channels: this.settings.channels,
port: this.settings.port || 6667,
showErrors: this.debug,
userName: this.settings.userName || 'awesom0',
realName: this.settings.realName || 'AWESOM-0'
});
// bind all events
this.client.addListener('connect', _.bind(this.connecting, this));
this.client.addListener('registered', _.bind(this.onconnect, this));
this.client.addListener('message', _.bind(this.onmessage, this));
this.client.addListener('join', _.bind(this.onjoin, this));
this.client.addListener('error', _.bind(this.onerror, this));
}
return this;
var irc = require('irc');
var config = require('./config');
var manager = require('./manager');
// IRC Bot
var ircClient = new irc.Client(config.irc.server, config.irc.nick, {
channels: config.irc.channels
});
// On connected to IRC server
ircClient.on('registered', function(message) {
// Store the nickname assigned by the server
config.irc.nick = message.args[0];
});
// On receive IRC message.
ircClient.addListener('message', function(from, to, message) {
var match;
// Only listen to messages targeted at the bot.
if (message.indexOf(config.irc.nick) !== 0) {
if (from === 'dashbot') {
'test secret channels in WHOIS': function(end) {
var setMode = true, client, client2;
client = new irc.Client('localhost', 'n1', {
channels: ['#secret'],
port: port,
debug: false
});
client.addListener('join', function() {
client2 = new irc.Client('localhost', 'n2', {
channels: ['#test'],
port: port,
debug: false
});
client.send('MODE', '#secret', '+s');
client.on('raw', function(data) {
if (data.rawCommand === 'MODE') {
Bot.prototype.connect = function (host, channel, opts) {
const PENDING = 1000;
this.nick = (opts && opts.nick) ? opts.nick : 'nestor';
this.channel = '#' + channel;
var self = this;
process.on('SIGINT', function () { self.disconnect(); });
process.on('SIGTERM', function () { self.disconnect(); });
console.log(text.__('Connecting to %s as %s'), host, this.nick);
this.client = new irc.Client(host, this.nick);
this.client.addListener('error', function (err) {
console.error(text.__('Error: '), err);
});
this.client.addListener('message' + this.channel, function (from, message) {
if (message.match(new RegExp('^' + self.nick))) {
var parts = message.split(' '),
command = parts[1],
args = parts.slice(2);
if (command === undefined) {
self.say(text.__('Usage: %s ... '), self.nick);
} else if (self.commands[command]) {
self.commands[command].apply(self, args);
} else {
Ziggy.bots.forEach(function (bot) {
bot.client = new irc.Client(bot.server, bot.nickName, { channels: bot.channels })
bot.plugins.forEach(function (plugin) {
if (Ziggy.plugins.indexOf(plugin) === -1) {
console.log('unknown plugin: ' + plugin)
} else {
Ziggy.plugins[plugin].listeners.forEach(function (listener) {
bot.client.addListener(listener.on, listener.callback)
})
}
})
})
}
setup: function() {
zenircbot.config = api.load_config(opts.config);
zenircbot.pub = api.get_redis_client(zenircbot.config.redis);
zenircbot.sub = api.get_redis_client(zenircbot.config.redis);
zenircbot.unsetRedisKeys();
var cfg = zenircbot.server_config_for(0);
console.log('irc server: '+cfg.hostname+' nick: '+cfg.nick);
zenircbot.irc = new irc.Client(cfg.hostname, cfg.nick, cfg);
var bot = zenircbot.irc
bot.addListener('connect', function() {
zenircbot.pub.set('zenircbot:nick', bot.nick);
zenircbot.pub.set('zenircbot:admin_spew_channels',
cfg.admin_spew_channels)
});
bot.addListener('ctcp', function(nick, to, text, type) {
console.log('action: ' + nick + ' said ' + text + ' to ' + to);
if (to == bot.nick) {
to = nick;
}
var msg = {
version: 1,
type: 'privmsg_action',