提问者:小点点

如何显示信息从一个网站在我的不和机器人?


我正在构建一个discord机器人(Javascript,node.js,discord.js),它是基于一个游戏(在线多人游戏)。所以,我基本上已经完成了这个机器人的开发工作,除了一件事我真的希望我可以补充。因此,这款游戏有一些高分,可以在这里查看-https://www.hzgaming.net/high.php。因此,我希望显示这些高分(Highscore money-https://www.hzgaming.net/high.php?scores=money)(Highscore Materials-https://www.hzgaming.net/high.php?scores=materials)和所有这些。所以,我想要的是。。当一个用户键入像“!highscore money”这样的cmd时,它应该显示在我上面给出的那个网站链接上可用的高分,同样。。当他们使用“!highscore materials”时,它应该显示来自那个链接的材料的高分。我希望它是从那个链接,因为,它不断地改变和得到更新。而且,我很确定这是可能的,因为有一个类似的机器人显示了和我解释的一样的东西。我希望你明白我的意思。我真的很想得到一个答案,如果有一个示例代码提供答案,使其易于理解,那将是很棒的。

下面给出了cmd的一个示例-

用户-!highscore money BOT-money高分

  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. 氨基三聚氰胺-28,052,188美元总财富
  6. 本·马丁-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材料((机器人的所有回复将被嵌入))(是的,所以这些值应该不断更新,这就是我给出上面链接的原因)

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


共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));