#discord.js
Вопрос:
Как я могу получить ответ JSON от URL? В моем случае URL https://api.mathjs.org/v4/?expr=2*2
-это ответ JSON, а затем, когда кто-то вводит тест!, он отправляет json/данные с URL-адреса.
Комментарии:
1. api не возвращает ответ json? просто текстовый, может быть, вы могли бы использовать node-fetch и использовать <response>.text()
Ответ №1:
Вот пример кода с использованием выборки узлов, я не могу гарантировать, что он будет хорошо работать
const fetch = require('node-fetch')
(async () => {
const response = await fetch(`https://api.mathjs.org/v4/?expr=${encodeURIComponent(2*2)}`).then(r => r.text())
console.log(response)
})()
это логи 4
.
это пример кода, как я уже сказал, вам придется изменить его в соответствии с вашими потребностями, я использовал iife, поскольку метод выборки возвращает обещание
вы можете сделать:
<message>.channel.send(`the result is ${response}`)
в качестве примера, адаптированного из приведенного выше кода
ps: вместо того, чтобы использовать api для математики, вы могли бы использовать пакет mathjs (который вы используете, просто его версия api)
Ответ №2:
Вам не нужен JSON только для того, чтобы получить значение параметра запроса из URL-адреса. Если вам просто нужно получить номер, вы можете попробовать это с помощью URLSearchParams:
console.log(window.location.search); //output: '?expr=2*2'
var params = new URLSearchParams('?expr=2*2');
console.log(params.has('expr')); //output: 'true';
console.log(params.get('expr')); //output: '2*2';
вы получаете значение из params.get(‘expr’));
Комментарии:
1. хм, у него нет доступа к «окну» в node.js (как он его пометил discord.js, что означает, что они должны использовать node.js)
2. @ТИПИЧНОЕ окно изменения. местоположение.затем выполните поиск по строке параметров. параметры var = новые параметры urlsearch(‘?expr=2*2’);