无法获取其他 IP 和端口 游戏挖掘不和谐.js v12



我试图将所有服务器信息嵌入到一个嵌入中,但问题是机器人获取所有IP和端口,提供正确的服务器信息,但没有提供正确的IP和端口。这意味着机器人将只提供一个服务器IP和所有服务器的端口!

这是Updatecmd.js

const Discord = require("discord.js")
const Gamedig = require("gamedig")
const servers = new Discord.Collection()
function getServerInfo() {
delete require.cache[require.resolve("../serverinfo.json")] // ensure new IPs were not added
let serverInfo = require("../serverinfo.json")
// console.log(serverInfo.length)
let ip = ""
let port = 0

for (let i = 0; i < serverInfo.length; i++) {
if (i & 1) {
port = serverInfo[i]
// console.log(`**port** ` + port)
} else {
ip = serverInfo[i]
// console.log(`**ip** ` + ip)
}

// query each IP in the file.
Gamedig.query({
type: "cs16",
host: ip,
port: port,
socketTimeout: 5000,
udpTimeout: 10000
}).then((state) => {
let serverName  = state.name
let map         = state.map
let players     = state.players.length
let maxPlayers  = state.maxplayers

servers.set(serverName, [serverName, ip, port, map, players, maxPlayers])
//console.log(servers)
}).catch((error) => {

})
}
return servers
}
getServerInfo()
module.exports = {
name: 'updatecmd',
description: 'updatebot test.',
aliases: ['memes', 'dm', 'dank'],
usage: `meme`,
category: 'Fun',
execute(client, message, args) {
let embed = new Discord.MessageEmbed()
.setAuthor(message.client.user.username)
.setFooter("test")
.setColor("#3498DB")
.setDescription("zzz")

getServerInfo().forEach((val, key, map) => {
//console.log(map.size)

let info = servers.get(key)
//console.log(info)
embed.addField(`${info[0]}`, true)
embed.addField("Players:", `${info[5]}/${info[6]}`, true)
embed.addField("Map:", `${info[4]}`, true) 
embed.addField("Connect", `${info[1]}:${info[2]}`)      
})
message.channel.send(embed)
}
}

这是serverinfo.json

[
"serverip", port,
"serverIP",port
]

对于serverinfo,是的,它的格式不正确

["serverip":"端口";,"服务器IP":"端口";]

最新更新