From d8d01f09c299c4dd9060f7efe0f92fc9fece9df4 Mon Sep 17 00:00:00 2001 From: zefie Date: Sat, 14 Jun 2025 21:55:57 -0400 Subject: [PATCH] more fixes --- zefie_wtvp_minisrv/includes/classes/WTVIRC.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/zefie_wtvp_minisrv/includes/classes/WTVIRC.js b/zefie_wtvp_minisrv/includes/classes/WTVIRC.js index 7e394088..c51e2d3a 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVIRC.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVIRC.js @@ -518,9 +518,21 @@ class WTVIRC { } return mode; }); - chan_modes.forEach(m => { - socket.write(`:${this.servername} 324 ${socket.nickname} ${channel} ${m}\r\n`); - }); + if (chan_modes.length > 0) { + // Batch all modes into a single 324 reply + const modeString = chan_modes + .map(m => { + // For modes with parameters (like k or l) + if (typeof m === 'string' && (m.startsWith('k ') || /^l\d+$/.test(m))) { + return m; + } + return m; + }) + .join('').replace(/\+/g, ''); + socket.write(`:${this.servername} 324 ${socket.nickname} ${channel} +${modeString}\r\n`); + } else { + socket.write(`:${this.servername} 324 ${socket.nickname} ${channel}\r\n`); + } socket.write(`:${this.servername} 329 ${socket.nickname} ${channel} ${this.channeltimestamps.get(channel) || Date.now()}\r\n`); break; } else {