@ctrl/irc 
A typed IRC client library for node
Based on irc-upd. Includes irc color decoding based on irc-colors.js
Install
npm install @ctrl/irc
Use
import { IrcClient } from '@ctrl/irc';
const client = new IrcClient('irc.yourserver.com', 'myNick', {
channels: [],
port: 7000,
secure: true,
});
client.connect();
Join a channel
client.join('#yourchannel yourpass');
Leave a channel
client.part('#yourchannel');
Send a message
client.say('#yourchannel', 'hello');
client.say('nonbeliever', 'sup');
With typescript 4.1 template strings feature events can be fully typed.
client.addListener('message#yourchannel', (from, message) => {
console.log(from + ' => #yourchannel: ' + message);
});
Debugging - subscribe to the raw messages and see what events are being parsed and re-emitted
client.on('raw', message => {
console.log(message);
});
Links