Skocz do zawartości
  • 0

Baza danych na Discord


3meraldK

Pytanie

Tak, chcę poeksperymentować z kanałami Discord i zrobić z nich nowy użytek. Przechodząc

1. Co minutę, używając biblioteki node-fetch pobieram array nicków graczy online z pewnego API
2. Później sprawdzam czy gracz jest już zapisany w bazie danych, czyli na kanale z ID: x. Jedna wiadomość to jedno miejsce w bazie danych i się reprezentuje tak, nickname|unix (kiedy ostatnio był online)
3. Jeśli gracz jest już zapisany to nadpisuję unix (edytuje wiadomość), a jeśli nie jest zapisany, to wysyłam nową wiadomość na kanał.
Wszystko w najnowszym discord.js.

I jeżeli ktoś mógłby to jeszcze żeby bot wysyłał/edytował wiadomości w delayu, żeby nie naruszyć rate limitu

Pierwszy krok już chyba mam, jak ktoś nie rozumie to mogę dać reszte kodu , oczywiście nie działa.

async function checkActivity() {
	const onlinePlayers = await fetch(url).then(response => response.json()).catch(err => { return err; });
	...
}

setInterval(() => {
	checkActivity();
}, 60000);

unknown.png

Próbowałem wiele razy to rozwiązać, ale asynchronizacja w javascript mnie przerasta

Edytowane przez 3meraldK
Odnośnik do komentarza
https://skript.pl/temat/51311-baza-danych-na-discord/
Udostępnij na innych stronach

1 odpowiedź na to pytanie

Rekomendowane odpowiedzi

  • 0

Jest to słaby pomysł właśnie ze względu na ratelimit + ogólny limit kanałów na discordzie wynoszący 500. Pytaniem jest czy możesz wykonać parę akcji na raz (tzn, za jednym razem edytować x wiadomości), bo jeżeli nie, to kolejkowanie tutaj nic nie da, wszystkie zmiany będą Ci wiecznie narastać w ramie. Takie rozwiązanie - ok jest ciekawe, ale niesie za sobą dużo ograniczeń i problemów.

Odnośnik do komentarza
https://skript.pl/temat/51311-baza-danych-na-discord/#findComment-316013
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...