xMuffionex 105 Opublikowano 9 listopada 2020 Udostępnij Opublikowano 9 listopada 2020 Siemka, zajmuje się pisaniem botów na Discorda na poziomie powiedzmy troche bardziej zaawansowanym a jak zobaczyłem poradniki na tym forum dot. botów discord to złapałem się za głowę. Nie mówie tutaj o tym że są bezsensowne, ale wszystkie (no dobra, większość) kończy się na zrobieniu client.on("ready",()). W pierwszej części pokaże wam krok po kroku zrobić pierwsze funkcje. 1. Utwórz folder na pulpicie Zakładam, że umiesz to zrobić 2. Pobierz edytor kodu. W poradniku, użyję Visual Studio Code (Insiders), dlatego że pewnie większość z was będzie go posiadać. Wymieniony przed chwilą edytor pobierzecie z Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!. 3. Zainstaluj Node.JS Node.JS to silnik, na którym opiera sie cała biblioteka discord.js. NODE.JS pobierzecie z zamieszczonego Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!. (wersja 12+) 4. Sprawdz czy poprawnie zainstalowałeś 5. Otwórz folder za pomocą edytora. Kliknij prawym na folder na pulpicie, następnie Open as Visual Studio Project. (W przypadku Insiders: Open as Insiders project) 6. Utwórz plik index.js Tak naprawde, plik można nazwać jak się chce, ja nazwę go index.js 7. Pierwszy kod Jako iż nie chcę aby ta część była zbyt długa, zacznijmy pisać podstawową funkcję. a) Tworzenie naszego klienta. const { Client } = require("discord.js"); let client = new Client(); Teraz nasz klient został "wprowadzony" do aplikacji. Jednak aby klient się uruchamiał potrzebujemy jego Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!. W portalu deweloperskim discorda tworzymy aplikację, przechodzimy do zakładki BOT, dodajemy bota i kopiujemy token. b) Logowanie klienta Logowanie klienta jest bardzo proste! Wystarczy jedna linijka: client.login("token") Teraz mój kod wygląda tak: c) Instalacja modułu c1) Pierwszy krok -> w terminalu w lokalizacji bota wpisz npm init -y aby utworzyc package.json. c2) Drugi krok -> w terminalu wpisz npm i discord.js --save c3) Nasz moduł jest zainstalowany! d) Uruchamianie bota W terminalu wpisz node . lub node index.js Nasz bot po chwili sie uruchamia! Jednak w konsoli nic sie nie pokazuje, e) Event message i ready! Eventy tworzymy tak: client.on("<nazwa eventu>", (opcjonalnaZmienna)=>{ //KOD }) dlatego na podstawie tego, stworzymy event ready. Event ready nie wymaga zadnych dodatkowych argumentów dlatego () zostawilem puste Teraz jak nasz bot sie zaloguje naszym oczom ukaże się wiadomość ,,Bot is ready!". Klikamy ctrl+c i ponownie wpisujemy node . Działa! Teraz event message. Zróbmy aby na wiadomość !ping odpowiadał bot swoim pingiem. Teraz tworzymy event message, message ma jeden argument -> Będący właśnie wiadomością. Umiesz już samodzielnie utworzyć event? client.on("message", (message) =>{ switch(message.content){ case "!ping": message.channel.send(`Moj ping: ${client.ws.ping}`) break; } }) Od teraz, nasz bot sprawdza czy wysłana wiadomość zawiera !ping jeżeli tak, odpowiada. Uruchommy bota ponownie i sprawdzmy czy dziala Wszystko działa! Mam nadzieję że poradnik się spodobał. Kontynuacja serii będzie pewnie na moim kanale na yt, jednak o wszystkim poinformuję. Pozdrawiam Usunięty#29721 i LeviBoyPL 1 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LeviBoyPL 159 Opublikowano 9 listopada 2020 Udostępnij Opublikowano 9 listopada 2020 Ej kozak poradnik! Tylko śmiałeś się, że wszystkie poradniki kończą się na client.on('ready',()) a sam na tym skończyłeś, także xD + Poziom zaawansowany i node też raczej nie styka, są o wiele lepsze, bardziej optymalne i łatwiejsze w obsłudze środowiska do pisania dużych projektów, ale spoko, każdy od czegoś zaczyna. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
wiktorm12 104 Opublikowano 9 listopada 2020 Udostępnij Opublikowano 9 listopada 2020 3 godziny temu, xMuffionex napisał: złapałem się za głowę. Nie mówie tutaj o tym że są bezsensowne, ale wszystkie (no dobra, większość) kończy się na zrobieniu client.on("ready",()). Tutaj sam stwierdziłeś że bez sensu że kończą się na client.on("ready"), a w sumie na tym samym skończyłeś tak jak powiedział kolega wyżej Kolejnym punktem do poprawy jest poziom tłumaczenia. Sam zabieram się od jakieś czasu do napisania takiego poradnika i powiem tak, trzeba w czymś takiem opisać podstawy JS, no bo co osoba widząca taki kod: () => { console.log("Test"); } po raz pierwszy nie ma pojęcia że jest to funkcja strzałkowa którą można zapisać na kilka innych sposóbów typu: function onload() { console.log("test"); } () => { { log } = console; log("test"); } Po trzecie brakuje podstawowowych pojeć typu: - jaki jest to język programowania? - czym on się różni od innych? - co to jest sam DiscordJS? - co to jest git init i co on daje? - co to za edytor jak go pobrać jakie są alternatywy? Po czwarte zacząłeś robić tego bota od środka, najpierw powinno się zainstalować środowisko w tym przypadku NodeJS i DiscordJS i dopiero potem tworzy się plik index.js (dodatkowo przy bibliotece DiscordJS najczęściej postawowym plikiem jest plik Bot.js) A po piąte nie ma żadnego słowa o dokumentacji która raczej była by potrzebna... I po szóste nie bierz żadnego z powyższych słów do siebie bo jest to tylko opinia jakiegoś durnego admina forum, który lubi się przyczepić do szczegółów Godzinę temu, LeviBoyPL napisał: Poziom zaawansowany i node też raczej nie styka, są o wiele lepsze, bardziej optymalne i łatwiejsze w obsłudze środowiska do pisania dużych projektów, ale spoko, każdy od czegoś zaczyna. A tu cię zaskoczę bo NodeJS wcale nie jest takim złym środowiskiem. Sam hostuje takiego bota i wcale nie jest on wymagający dla serwera Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LeviBoyPL 159 Opublikowano 9 listopada 2020 Udostępnij Opublikowano 9 listopada 2020 1 godzinę temu, wiktorm12 napisał: A tu cię zaskoczę bo NodeJS wcale nie jest takim złym środowiskiem. Sam hostuje takiego bota i wcale nie jest on wymagający dla serwera Absolutnie nie mówię, że node jest złym środowiskiem, jest spoko na początek do nauki programowania. Powiedziałem tylko, że do zastosowań "zaawansowanych" jak kolega w poradniku napisał nikt nie użyje Node'a chociażby dlatego, że reszta środowisk jest wydajniejsza. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
xMuffionex 105 Opublikowano 9 listopada 2020 Autor Udostępnij Opublikowano 9 listopada 2020 Z tym ready mialem na mysli ze nie pojawiaja sie nastepne czesci. Nastepne, przeciez najpierw zainsyalowalem srodowisko node a potem stworzylem plik. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi