Как я могу получить содержимое http-запроса?

Итак, я делаю бота для разногласий и хочу, чтобы он отображал некоторую статистику. Итак, я получил контент с веб-сайта, с которого я хочу его получить, и я использовал следующий код:

const Discord = require('discord.js');
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
const {prefix,token} = require('./config.json');
const client = new Discord.Client()

function httpGet(theUrl)
{
    var xmlHttp = new XMLHttpRequest()
    xmlHttp.open( "GET", theUrl, false ); // false for synchronous request
    xmlHttp.send( null );
    return xmlHttp.responseText;
}

client.on('ready',() => {
    console.info('Bot ready!');
})

client.on('message',message => {
    if (message.content.startsWith(`${prefix}http`)) {
        let result = httpGet('https://games.roblox.com/v1/games/2012508359/favorites/count')
        message.channel.send(result)
        message.reply(`Still a WIP! ${message.member.user.tag}`);
    } 
})

client.login(token);

Он работает, но отображается так:

{"favoritesCount":31219}

Как мне сделать так, чтобы отображалось только число (31219), а не {"favoritesCount":31219}

Спасибо!

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
153
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вместо передачи result вам нужно вернуть ключ favoritesCount из результата в обработчик сообщения.

Вы можете сделать это, изменив вас в обработчике сообщений следующим образом:

client.on('message',message => {
    if (message.content.startsWith(`${prefix}http`)) {
        let result = httpGet('https://games.roblox.com/v1/games/2012508359/favorites/count');
        const favoritesCount = JSON.parse(result).favoritesCount;
        message.channel.send(favoritesCount);
        message.reply(`Still a WIP! ${message.member.user.tag}`);
    } 
})

убедитесь, что вы также обрабатываете ответ об ошибке перед разбором

Другие вопросы по теме