• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Pobieranie informacji ze stron internetowych discord bot

Aruba Cloud - Virtual Private Server VPS
0 głosów
1,574 wizyt
pytanie zadane 3 września 2021 w JavaScript przez Maxxxii Obywatel (1,310 p.)
zamknięte 4 września 2021 przez Maxxxii
Cześć ponownie,

tym razem przychodzę z pytaniem w jaki sposób pobrać informacje z różnych stron internetowych.

np. mamy tę stronę: http://metar.vatsim.net/metar.php?id=epgd i chciałbym, żeby wszystko z tej strony (nie jest tam tego dużo) wyświetlało się w wiadomości do użytkownika bota.

Przepraszam, jeżeli jest to błahe pytanie, ale szukałem tego w internecie i nie mogłem znaleźć(chyba, że źle szukałem)

Pozdrawiam
komentarz zamknięcia: znalezienie rozwiązania

1 odpowiedź

0 głosów
odpowiedź 3 września 2021 przez ScriptyChris Mędrzec (190,190 p.)
wybrane 4 września 2021 przez Maxxxii
 
Najlepsza

Możesz użyć dowolnej biblioteki do obsługi zapytań HTTP w Node np. node-fetch lub axios. Pobierz sobie tą stronę (szczegóły znajdziesz w dokumentacjach podlinkowanych bibliotek), i - w zależności, czy potrzebujesz wydobyć ze strony konkretne informacje, czy zadowala Cię całość danych - sparsuj ją do postaci DOM (przy użyciu np. jsdom) i przy użyciu metod DOM-owych pokroju querySelector oraz propertisów typu textContent, odczytaj to czego potrzebujesz.

komentarz 3 września 2021 przez Maxxxii Obywatel (1,310 p.)
zmieniłem format pliku na .mjs wywaliło błąd, require nie jest dostępny, zmieniłem na import. tylko niestety teraz wywaliło: Cannot read property 'FLAGS' of undefined i zupełnie nie wiem na co to zmienić
komentarz 3 września 2021 przez ScriptyChris Mędrzec (190,190 p.)

Zamień

const {Client, Intents, MessageEmbed} = require("discord.js")

na

import * as Discord from "discord.js";
console.log('Discord:', !!Discord, ' /intents:', Discord.Intents);

i daj znać, co pokaże konsola.

komentarz 3 września 2021 przez Maxxxii Obywatel (1,310 p.)
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".json" for C:\Users\cichy\Desktop\chartsBot\config.json

czyżby był jakiś format mjson? ;)
komentarz 3 września 2021 przez ScriptyChris Mędrzec (190,190 p.)

Ojej, a skąd nagle odwołanie do jakiegoś pliku konfiguracyjnego?

Dobra... :) Myślę że łatwiej Ci będzie, jeśli po prostu użyjesz async IIFE i require, tak jak miałeś na początku oraz przywróć rozszerzenie z .mjs do .js. Możesz od biedy nawet cały kod owinąć w to IIFE (razem z importami przez require na górze). Tylko pamiętaj, że zmienne utworzone w funkcji nie będą widoczne poza nią, bo ona jest asynchroniczna - mógłbyś niby zadeklarować result z fetch przed IIFE, w IIFE to ustawić i poza IIFE poczekać setTimeout-em lub robić inne hacki, ale to nie ma sensu i będzie z tym więcej problemów niż pożytku.

Zapisz po prostu:

const {Client, Intents, MessageEmbed} = require("discord.js")
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES]})
const config = require("./config.json")
const fetch = require("node-fetch")

;(async () => {
  const result = await fetch('http://metar.vatsim.net/metar.php?id=epgd')
    .then(res => res.text())
    .then(text => {
      console.log('text:', text);
      return text;
    })
    
  console.log('result:', result);
   
  client.login(config.token)
})();

 

1
komentarz 3 września 2021 przez Maxxxii Obywatel (1,310 p.)
też myślę, że to będzie lepszy pomysł. Bardzo Ci dziękuję i jestem dozgonnie wdzięczny! Mam u Ciebie dług. :)

Podobne pytania

+1 głos
1 odpowiedź 1,258 wizyt
pytanie zadane 18 września 2021 w JavaScript przez Maxxxii Obywatel (1,310 p.)
0 głosów
0 odpowiedzi 887 wizyt
0 głosów
1 odpowiedź 970 wizyt
pytanie zadane 23 lipca 2020 w JavaScript przez Samek2222 Początkujący (440 p.)

93,335 zapytań

142,330 odpowiedzi

322,410 komentarzy

62,670 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...