mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-09-07 16:55:29 -05:00
Fix crash when sending '/ '
This commit is contained in:
@@ -167,6 +167,10 @@ var parse = exports.parse = function (message, room, user, connection, levelsDee
|
||||
if (Config.emergencylog && (user.userid === 'pindapinda' || connection.ip === '62.195.195.62' || connection.ip === '86.141.154.222' || connection.ip === '189.134.175.221')) {
|
||||
Config.emergencylog.write('<' + user.name + '@' + connection.ip + '> ' + message + '\n');
|
||||
}
|
||||
} else {
|
||||
if (levelsDeep > MAX_PARSE_RECURSION) {
|
||||
return connection.sendTo(room, "Error: Too much recursion");
|
||||
}
|
||||
}
|
||||
|
||||
if (message.substr(0, 3) === '>> ') {
|
||||
@@ -177,7 +181,7 @@ var parse = exports.parse = function (message, room, user, connection, levelsDee
|
||||
message = '/evalbattle ' + message.substr(4);
|
||||
}
|
||||
|
||||
if (message.substr(0, 2) !== '//' && message.substr(0, 1) === '/') {
|
||||
if (message.charAt(0) === '/' && message.charAt(1) !== '/') {
|
||||
var spaceIndex = message.indexOf(' ');
|
||||
if (spaceIndex > 0) {
|
||||
cmd = message.substr(1, spaceIndex - 1);
|
||||
@@ -186,7 +190,7 @@ var parse = exports.parse = function (message, room, user, connection, levelsDee
|
||||
cmd = message.substr(1);
|
||||
target = '';
|
||||
}
|
||||
} else if (message.substr(0, 1) === '!') {
|
||||
} else if (message.charAt(0) === '!') {
|
||||
var spaceIndex = message.indexOf(' ');
|
||||
if (spaceIndex > 0) {
|
||||
cmd = message.substr(0, spaceIndex);
|
||||
@@ -293,9 +297,6 @@ var parse = exports.parse = function (message, room, user, connection, levelsDee
|
||||
return true;
|
||||
},
|
||||
parse: function (message) {
|
||||
if (levelsDeep > MAX_PARSE_RECURSION) {
|
||||
return this.sendReply("Error: Too much recursion");
|
||||
}
|
||||
return parse(message, room, user, connection, levelsDeep + 1);
|
||||
},
|
||||
canTalk: function (message, relevantRoom) {
|
||||
@@ -369,6 +370,9 @@ var parse = exports.parse = function (message, room, user, connection, levelsDee
|
||||
}
|
||||
}
|
||||
|
||||
if (message.charAt(0) === '/' && message.charAt(1) !== '/') {
|
||||
message = '/'+message;
|
||||
}
|
||||
message = canTalk(user, room, connection, message);
|
||||
if (!message) return false;
|
||||
if (message.charAt(0) === '/' && message.charAt(1) !== '/') {
|
||||
|
||||
Reference in New Issue
Block a user