UNPKG

pandoapi

Version:

API interna para los bots de PandoTeam

50 lines (37 loc) 1.66 kB
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;