pandoapi
Version:
API interna para los bots de PandoTeam
50 lines (37 loc) • 1.66 kB
JavaScript
async function mcserver(client, ip){
const fetch = require('node-fetch');
if(!client || !ip) return ('Api-Error on(Parameters) : No ha proporcionado los parametros necesarios.');
if(!client.user) return ('Api-Error on(getClientUser) : No se pudo obtener el usuario del cliente.');
if(!client.user.id) return ('Api-Error on(getClientUserID) : No se pudo obtener la ID del cliente.');
const authorization = require('../authorized.js');
const authorize = await authorization.authorize(client);
if(authorize === false) return ('Api-Error on(Authorization) : El cliente no está autorizado para usar este servicio.');
let url = `https://api.mcsrvstat.us/2/${ip}`;
let data = await fetch(url).catch((err) => { return (`Api-Error on(package(node-fetch)) : ${err.toString().split(': ')[1]}`) });
if(!data) return ('Api-Error on(getData) : No se ha encontrado información del servidos.');
let info = await data.json();
if(info.online === false){
return {
"ip": ip,
"online": false
}
}
return {
"ip": info.ip,
"port": info.port,
"motd":{
"raw": info.motd.raw,
"clean": info.motd.clean
},
"players":{
"online": info.players.online,
"max": info.players.max
},
"version": info.version,
"hostname": info.hostname,
"image": `http://status.mclive.eu/${ip}/${ip}/${info.port}/banner.png`,
"icon": `https://api.mcsrvstat.us/icon/${ip}`,
"online": true
}
}
module.exports = mcserver;