try to prevent blank modes
This commit is contained in:
@@ -4029,6 +4029,7 @@ class WTVIRC {
|
|||||||
processChannelModes(nickname, channel, modes, params, socket) {
|
processChannelModes(nickname, channel, modes, params, socket) {
|
||||||
// Split modes into array and process each character
|
// Split modes into array and process each character
|
||||||
let modeChars = modes.split('');
|
let modeChars = modes.split('');
|
||||||
|
let validModes = [];
|
||||||
let supportedChannelModes = (this.supported_channel_modes.split(',').join('') + this.supported_prefixes[0]).split('');
|
let supportedChannelModes = (this.supported_channel_modes.split(',').join('') + this.supported_prefixes[0]).split('');
|
||||||
var serverModeMsg = '';
|
var serverModeMsg = '';
|
||||||
var target = null;
|
var target = null;
|
||||||
@@ -4142,6 +4143,11 @@ class WTVIRC {
|
|||||||
}
|
}
|
||||||
var result = this.processChannelModeParams(channel, plusminus + mc, target, socket);
|
var result = this.processChannelModeParams(channel, plusminus + mc, target, socket);
|
||||||
paramIndex++;
|
paramIndex++;
|
||||||
|
if (!result) {
|
||||||
|
if (params.length > 0) {
|
||||||
|
params.shift();
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
var result = this.setChannelMode(channel, mc, addingFlag);
|
var result = this.setChannelMode(channel, mc, addingFlag);
|
||||||
if (addingFlag) {
|
if (addingFlag) {
|
||||||
@@ -4161,6 +4167,7 @@ class WTVIRC {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (result) {
|
if (result) {
|
||||||
|
validModes.push(mc);
|
||||||
if (modeStr.length > 0) {
|
if (modeStr.length > 0) {
|
||||||
modeMsg += modeStr;
|
modeMsg += modeStr;
|
||||||
serverModeMsg += modeStr;
|
serverModeMsg += modeStr;
|
||||||
@@ -4181,8 +4188,10 @@ class WTVIRC {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
modeMsg += '\r\n';
|
modeMsg += '\r\n';
|
||||||
this.broadcastChannel(channel, modeMsg);
|
if (validModes.length > 0) {
|
||||||
this.broadcastToAllServers(serverModeMsg, socket);
|
this.broadcastChannel(channel, modeMsg);
|
||||||
|
this.broadcastToAllServers(serverModeMsg, socket);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async doLogin(nickname, socket) {
|
async doLogin(nickname, socket) {
|
||||||
|
|||||||
Reference in New Issue
Block a user