misc.mcserver: more error handling
This commit is contained in:
parent
7042f6b3f5
commit
843bb59858
1 changed files with 13 additions and 3 deletions
|
@ -134,7 +134,7 @@ function queryServer(ip, port, HANDSHAKE_PACKET) {
|
||||||
return reject(err);
|
return reject(err);
|
||||||
}
|
}
|
||||||
const dataAsString = totalData.toString().trim();
|
const dataAsString = totalData.toString().trim();
|
||||||
console.log(dataAsString);
|
logger.verbose("mcserver", "data as string", dataAsString);
|
||||||
const json = JSON.parse(dataAsString.slice(dataAsString.indexOf("{"), dataAsString.lastIndexOf("}") + 1));
|
const json = JSON.parse(dataAsString.slice(dataAsString.indexOf("{"), dataAsString.lastIndexOf("}") + 1));
|
||||||
logger.verbose("mcserver", "close", json);
|
logger.verbose("mcserver", "close", json);
|
||||||
clearTimeout(timeout);
|
clearTimeout(timeout);
|
||||||
|
@ -196,14 +196,24 @@ mcserver.callback = async function (msg, line) {
|
||||||
|
|
||||||
await msg.addReaction("\uD83C\uDFD3");
|
await msg.addReaction("\uD83C\uDFD3");
|
||||||
|
|
||||||
let data = await queryServerIdent(ip, port);
|
let data;
|
||||||
|
try {
|
||||||
|
data = await queryServerIdent(ip, port);
|
||||||
|
} catch {
|
||||||
|
try {
|
||||||
|
data = await queryServerNoIdent(ip, port);
|
||||||
|
} catch (err) {
|
||||||
|
await msg.removeReaction("\uD83C\uDFD3");
|
||||||
|
return `Failed to query:\n\`\`\`\n${data.error.message}\n\`\`\``;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (data == "timeout") {
|
if (data == "timeout") {
|
||||||
await msg.removeReaction("\uD83C\uDFD3");
|
await msg.removeReaction("\uD83C\uDFD3");
|
||||||
return "Timed out trying to query.";
|
return "Timed out trying to query.";
|
||||||
} else if (data?.error) {
|
} else if (data?.error) {
|
||||||
await msg.removeReaction("\uD83C\uDFD3");
|
await msg.removeReaction("\uD83C\uDFD3");
|
||||||
return `Failed to query:\n\`\`\`\n${data.error}\n\`\`\``;
|
return `Failed to query:\n\`\`\`\n${data.error.message}\n\`\`\``;
|
||||||
} else {
|
} else {
|
||||||
if (data.version.name == "TCPShield.com") data = await queryServerNoIdent(ip, port);
|
if (data.version.name == "TCPShield.com") data = await queryServerNoIdent(ip, port);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue