diff --git a/src/connector/websocket.connector.ts b/src/connector/websocket.connector.ts index bf3b671..6ef957a 100644 --- a/src/connector/websocket.connector.ts +++ b/src/connector/websocket.connector.ts @@ -50,25 +50,19 @@ export class IRCWebSocketConnector } write(format: string, ...args: any[]): void { - this.socket?.send(formatstr(format, ...args) + '\r\n'); + this.socket?.send(formatstr(format, ...args)); } private handle() { - let buffer: string = ''; this.socket?.addEventListener('message', (event) => { - const chunk = event.data.toString(); - buffer += chunk; - const data = buffer.split('\r\n'); - buffer = data.pop() || ''; + const line = event.data.toString(); - data.forEach((line: string) => { - if (line.indexOf('PING') === 0 && !this.connOpts?.skipPings) { - this.socket?.send('PONG' + line.substring(4) + '\r\n'); - return; - } + if (line.indexOf('PING') === 0 && !this.connOpts?.skipPings) { + this.socket?.send('PONG' + line.substring(4)); + return; + } - this.emit('data', line); - }); + this.emit('data', line); }); this.socket?.addEventListener('error', (err) => this.emit('error', err));