簡體   English   中英

如何在我的不和諧機器人上顯示來自網站的信息?

[英]How to display information from a website on my discord bot?

我正在構建一個基於游戲(在線多人游戲)的 discord bot(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=材料)和所有這些。 所以,我想要的是..當用戶輸入像'!highscore money'這樣的cmd時,它應該顯示我上面給出的那個網站鏈接上可用的高分,同樣......當他們使用'!highscore材料'時它應該分別顯示來自該鏈接的材料的高分。 我希望它來自該鏈接,因為它不斷變化並得到更新。 另外,我很確定這是可能的,因為有一個類似的機器人顯示與我解釋的相同的內容。 我希望你明白我的意思。 我真的很想得到一個答案,如果提供了一個示例代碼以使其易於理解,那就太好了。

下面給出了 cmd 的示例 -

用戶 - !highscore money 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 - 5749300種材料2. Van_Damme - 4923046種材料3. Brandon_Heath_Tsung - 3906395種材料4. Armando_Domrani - 3241925種材料5. Tazz_Equinox - 3187045種材料6. Danny_Ted - 2868088種材料7. Jack_Paterson - 2748249種材料8 . John_Dixon - 2,548,250 材料 9. Gab_Alphonse - 2,252,285 材料 10. Don_Thomax - 2,131,177 材料((機器人的所有回復都將嵌入))(是的,所以不知何故,這些值應該繼續更新)

請注意,代碼應該是使用 discord.js 和 node.js 的 javascript。 謝謝<3 :)

我不確定這是否可能,因為“只是檢查您的計算機,這將只需要幾秒鍾”頁面總是會彈出(用於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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM