如何在Discord机器人上显示来自网站的信息?

时间:2020-08-23 08:56:38

标签: javascript node.js discord.js

我正在构建一个基于游戏(在线多人游戏)的不和谐机器人(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)以及所有这些。因此,我想拥有的是..当用户键入“!highscore money”这样的cmd时,它应该显示我在上面给出的该网站链接上可用的highscore,并且类似地..当他们使用“!highscore资料”时它应该分别从该链接中显示出材料的最高分。我希望它来自该链接,因为它一直在变化并不断更新。另外,我非常确定这是有可能的,因为有一个类似的机器人显示了与我所解释的相同的东西。我希望你明白我的意思。我真的很想得到一个答案,如果附带示例代码以使其易于理解,那也很好。

下面是cmd的示例-

用户-!高分钱 BOT-钱高分

  1. Celia_Fernandz-总财富$ 41,085,610
  2. Armando_Domrani-总财富$ 40,204,664
  3. Sergio_Box-总财富$ 38,199,486
  4. Tony_Sativa-总财富$ 30,193,261
  5. Aminox_Trigui-总财富$ 28,052,188
  6. Ben_Martin-总财富$ 23,439,003
  7. Daryl_Grimes-总财富$ 17,128,518
  8. Luccas_Von_Koening-总财富$ 16,457,964
  9. Charlie_Hustle-总财富$ 14,452,056
  10. Kevin_Maddox-总财富$ 13,630,605

用户-!高分材料 BOT-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材料 (( BOT的所有回复都将被嵌入)) (是的,所以这些值应该不断更新,这就是为什么我在上面给出了链接)

请注意,代码应使用discord.js和node.js使用javascript。谢谢<3:)

1 个答案:

答案 0 :(得分:0)

由于“只需检查计算机,这仅需几秒钟”页面,该页面始终会弹出(出于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));