var irc = require('irc'); var CHANNEL = '#stratum0'; function render(content) { return '<h3> IRC #stratum0</h3><div class="chat">'+content+'</div>'; } module.exports = function (io) { var client = new irc.Client('chat.freenode.net', 'infodisplay', { channels: [CHANNEL] }); var content = []; client.addListener('message', function (from, to, message) { if (to != CHANNEL) {return;} message = message.replace(/</g,'<').replace(/>/g,'>'); content.push('<p> <span>'+from+'</span> '+message+'</p>'); if (content.length > 25) { content.shift(); } io.emit('irc', render(content.join(''))); }); io.on('connect', function (sock) { sock.emit('irc', render(content.join(''))); }); }