Как сделать команду поиска Geo IP? - PullRequest
0 голосов
/ 28 августа 2018

В настоящее время я работаю над командой для поиска IP-адресов через JSON Api. Я хочу сделать вывод более понятным для человека, другими словами, моя проблема заключается в форматировании.

Организация: Cloudflare

Город: CityNameHere

Страна: Австралия

Регион: Квинсленд

Интернет-провайдер: преобразователь облачных DNS

Часовой пояс: Aus / Bris

Статус: Успех.

Мой текущий код:

const Discord = require("discord.js");
const snekfetch = require('snekfetch');
module.exports = (client, message,args) => {
snekfetch.get(`http://ip-api.com/json/${args}` ).then(r => {
var string =JSON.stringify(r.body);
let Geo = new Discord.RichEmbed()
.setTimestamp()
.setThumbnail(`https://image.ibb.co/kcFJ09/resolver.png`)
.setTitle(`**Deluxo Puller - GeoIP Lookup**`)
.setDescription(`**__GeoIP Lookup Information__**\n**Looked Up IP**: ${args}\n${string}`)
.setFooter(`Resolved By: ${message.author.tag}`)

message.channel.send({embed: Geo})

Это результат: http://prntscr.com/knz47k

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 28 августа 2018

r.body уже является объектом, поэтому просто используйте свойства для него. В этом примере я показываю ASN и город IP-адреса. Вы можете добавить по мере необходимости.

snekfetch.get(`http://ip-api.com/json/${args}`).then(r => {
  let Geo = new Discord.RichEmbed()
    .setTimestamp()
    .setThumbnail(`https://image.ibb.co/kcFJ09/resolver.png`)
    .setTitle(`**Deluxo Puller - GeoIP Lookup**`)
    .setDescription(`**__GeoIP Lookup Information__**
**Looked Up IP**: ${args}
**ASN**: ${r.body.as}
**City**: ${r.body.city}`)
    .setFooter(`Resolved By: ${message.author.tag}`);

  message.channel.send({ embed: Geo });
});
...