【发布时间】:2021-10-01 21:51:59
【问题描述】:
我的标题并没有真正解释太多,所以这里是一个解释。
目前,我的 Discord 机器人上有一个命令,可以显示 Mojang 的服务器及其状态。
代码如下:
const Discord = require("discord.js");
const { get } = require("https");
module.exports.run = async(bot, message, args) => {
//const member = message.mentions.members.first() || message.member
get("https://status.mojang.com/check", (res) => {
const { statusCode } = res;
if (statusCode != 200) {
res.resume;
}
res.setEncoding("utf8");
let rawData = '';
res.on("data", (chunk) => {
rawData += chunk;
});
res.on("end", () => {
try {
const parsedData = JSON.parse(rawData);
console.log(parsedData[0]);
console.log(parsedData[1]);
message.channel.send({
embed: {
color: 0xe61616,
title: `Mojang API Status`,
fields: [
{
name: "minecraft.net",
value: parsedData[0]['minecraft.net']
},
{
name: "session.minecraft.net",
value: parsedData[1]['session.minecraft.net']
},
{
name: "account.mojang.com",
value: parsedData[2]['account.mojang.com']
},
{
name: "authserver.mojang.com",
value: parsedData[3]['authserver.mojang.com']
},
{
name: "sessionserver.mojang.com",
value: parsedData[4]['sessionserver.mojang.com']
},
{
name: "api.mojang.com",
value: parsedData[5]['api.mojang.com']
},
{
name: "textures.minecraft.net",
value: parsedData[6]['textures.minecraft.net']
},
{
name: "mojang.com",
value: parsedData[7]['mojang.com']
}
],
footer: {
text: `${bot.user.username} - Copyright 2021 - 2025`
}
}
});
console.log(parsedData);
} catch (e) {
console.error(e.message);
}
});
}).on("error", (err) => {
console.error(err.message);
});
}
结果就是数组所说的,所以minecraft.net green
[
{ "minecraft.net": "red" },
{ "session.minecraft.net": "green" }
]
但我想要的是,当它显示时,它是“minecraft.net: ????”。有可能吗?
【问题讨论】:
-
不喜欢带有代码的外部站点,将其嵌入到 stackoverflow 上,并尝试使您的代码尽可能少,只包含最相关的部分。我们不需要你的整个机器人。
标签: javascript node.js arrays discord.js