Minecraft-server-util我如何在嵌入消息discord.js中使用.then变量

时间:2020-10-30 19:07:02

标签: javascript node.js discord minecraft commando

您好(我是javascript的新手),我正在尝试使用minecraft-server-util对4个我的世界服务器进行ping操作,然后在“嵌入不和谐”消息中发送这4个服务器的在线播放器,但是这些变量并未被读。它使我误以为是这个错误:

ReferenceError: lobbyPlayers is not defined

这是代码,有人可以帮我使其正常工作吗?

const Commando = require("discord.js-commando");
const util = require("minecraft-server-util");
const discord = require("discord.js");

module.exports = class IptestCommand extends Commando.Command {
  constructor(client) {
    super(client, {
      name: "iptest",
      group: "misc",
      memberName: "iptest",
      description: "iptest Command",
    });
  }

  async run(message) {
    function totalPlayers() {
      util
        .status("111.111.111.11", { port: 11111 }) // Bungee
        .then((response) => {
          var bungeePlayers = response.onlinePlayers;
        })
        .catch((error) => {
          throw error;
        });
    }

    function ppracticePlayers() {
      util
        .status("22.222.222.2222", { port: 22222 }) // Practice
        .then((response) => {
          var practicePlayers = response.onlinePlayers;
        })
        .catch((error) => {
          throw error;
        });
    }

    function uuhcPlayers() {
      util
        .status("33.333.333.333", { port: 33333 }) // UHC
        .then((response) => {
          var uhcPlayers = response.onlinePlayers;
        })
        .catch((error) => {
          throw error;
        });
    }

    function llobbyPlayers() {
      util
        .status("44.444.444.444", { port: 44444 }) // Lobby
        .then((response) => {
          var lobbyPlayers = response.onlinePlayers;
        })
        .catch((error) => {
          throw error;
        });
    }

    const embed = new discord.MessageEmbed()
      .setColor("RANDOM")
      .setTitle("My Server")
      .addField("Server IP", "play.myserver.net")
      .addField("Server Version", "1.8.X-1.16.X")
      .addField("Lobby Players", lobbyPlayers)
      .addField("Practice Players", practicePlayers)
      .addField("UHC Players", uhcPlayers)
      .addField("Total Players", bungeePlayers)
      .addField("Status", "Online :green_circle:");

    return message.channel.send(embed);
  }
};

0 个答案:

没有答案