#javascript #node.js #discord.js
#javascript #node.js #discord.js
Вопрос:
Я создаю бота discord (Javascript, Node.js , Discord.js ) который основан на игре (многопользовательской онлайн-игре).Итак, я в значительной степени закончил разработку бота, за исключением одной вещи, которую я действительно хотел бы добавить. Итак, в этой игре есть несколько рекордов, которые можно посмотреть здесь — https://www.hzgaming.net/high.php . Итак, я хочу отобразить эти рекорды (денежный рекорд — https://www.hzgaming.net/high.php?scores=money ) (Материалы для рекордов — https://www.hzgaming.net/high.php?scores=materials ) и все такое. Итак, что я хотел бы иметь, так это .. когда пользователь вводит cmd типа «!рекордные деньги», он должен показывать рекорд, доступный по ссылке на веб-сайт, которую я привел выше, и аналогично..когда они используют «! материалы с наивысшим рейтингом», он должен показывать наивысший рейтинг материалов по этой ссылке соответственно. Я хочу, чтобы это было по этой ссылке, потому что она постоянно меняется и обновляется. Кроме того, я почти уверен, что это возможно, потому что есть похожий бот, который показывает то же самое, что я объяснил. Я надеюсь, вы поняли, что я имел в виду. Мне бы очень хотелось получить ответ на этот вопрос, также было бы здорово, если бы вместе с ответом был предоставлен пример кода, чтобы его было легко понять.
Пример для cmd приведен ниже —
пользователь — !бот-рекордсмен money — денежные рекорды
- Celia_Fernandz — общее состояние в размере 41 085 610 долларов
- Armando_Domrani — общее состояние в размере 40 204 664 долларов
- Sergio_Box — общее состояние в размере 38 199 486 долларов
- Tony_Sativa — общее состояние в размере 30 193 261 доллара
- Aminox_Trigui — общее состояние в 28 052 188 долларов
- Бен_Мартин — общее состояние в размере 23 439 003 долларов
- Daryl_Grimes — общее состояние в размере 17 128 518 долларов
- Luccas_Von_Koening — общее состояние в размере 16 457 964 долларов
- Charlie_Hustle — общее состояние в 14 452 056 долларов
- Kevin_Maddox — общее состояние в 13 630 605 долларов
пользователь- !бот-рекордсмен по материалам — 1. Chapo_Diamond — 5 749 300 материалов 2. Van_Damme — 4 923 046 материалов 3. Brandon_Heath_Tsung — 3 906 395 материалов 4. Armando_Domrani — 3,241,925 материалов 5. Tazz_Equinox — 3,187,045 материалов 6. Danny_Ted — 2,868,088 материалов 7. Jack_Paterson — 2,748,249 материалов 8. John_Dixon — 2,548,250 материалов 9. Gab_Alphonse — 2,252,285 материалов 10. Don_Thomax — 2,131,177 материалов ((ВСЕ ОТВЕТОМ БОТА БУДУТ ВСТАВКИ)) (да, так что каким-то образом эти значения должны постоянно обновляться, вот почему я дал ссылку выше)
Пожалуйста, обратите внимание, что код должен быть javascript с использованием discord.js и node.js . Спасибо <3 🙂
Комментарии:
1. Самое главное — использовать эту ссылку, потому что простое использование указанной информации не сработает, поскольку рекорды игры постоянно меняются, и, следовательно, информация также должна меняться автоматически. (Предоставленная ссылка постоянно обновляет рекорды)
Ответ №1:
Я не уверен, возможно ли это из-за страницы «Просто проверяю ваш компьютер, это займет всего несколько секунд», которая всегда будет всплывать (для DDoS
защиты). Например, это то, что я получил в своей консоли после запроса некоторых данных:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="robots" content="noindex, nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta http-equiv="refresh" content="12">
<link rel="Shortcut Icon" href="https://www.hzgaming.net/favicon.ico" type="image/x-icon">
<title>Just a moment...</title>
<style>@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(data:font/woff2;base64,
d09GMgABAAAAACjgAA4AAAAAUhQAACiIAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiIbEBwaBmAAZBEQCoGANONLC4
M8AAE2AiQDhnAEIAWDWgeQShv4QBXjmFXAxsEAi709IypHX42iQhIH/39MoGOIFG6KqtsXWLsNGTEJswgLuVELAuzt
6BPcQHcKGcv5HKXdi eKlYT6O/H7D3cgR jqXNVLasoPuSn55q2H3pbvh3OAu9IvBQY5QmOf5EL/td9nz5tz7szuhl
FHoURhUQJqVpEko1I Ki4WZRSx2vo qLaiHszxbb7Ne0BkhgdhTe1mgqThm6figcxKku0p W2vqybIl4ofbmvDwzr/
// and so on... for a very long time.
Я не думаю, что есть способ обойти это, но, если вы чудесным образом найдете способ, именно так я бы получил необходимые данные:
// you should use this npm package - https://www.npmjs.com/package/node-fetch
const fetch = require('node-fetch');
fetch('https://www.hzgaming.net/high.php?scores=money')
.then((res) => res.text())
.then((body) => console.log(body));
Комментарии:
1. Привет! Я попробовал второй код, который вы отправили, и вот что он показал
2. Ошибка ссылки: res не определен
3. Извините, но не могли бы вы сказать мне, что я должен делать?
4. Вы установили пакет npm?
5. Да, я это сделал… Я использовал npm install node-fetch в терминале, и да, он был установлен