irc.js contains the following code for identifying CAP messages:
case 'CAP':
if (message.args[0] === '*' &&
message.args[1] === 'ACK' &&
message.args[2] === 'sasl ') // there's a space after sasl
self.send('AUTHENTICATE', 'PLAIN');
break;
However, in practice a CAP message from Rizon looks like:
irc.js contains the following code for identifying CAP messages:
However, in practice a CAP message from Rizon looks like:
I.e. with no space after "sasl", and thus no AUTHENTICATE message is sent, causing the bot to fail to connect.