Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 11/21/21 uwzględniając wszystkie działy

  1. Witam, wszystkich w tym poradniku dowiesz się jak stworzyć plugin, który będzie wyświetlał ilość graczy z naszego serwera na kanale Discord. Zaczynajmy! Krok 1. Stworzenie serwera discord. Klikamy plusik na pasku serwerów po lewej stronie naszego discorda następnie klikamy "Stwórz serwer" wpisujemy nazwe serwer i klikamy przycisk Stwórz. Krok 2. Stworzenie kanału głosowego. Kanał głosowy tworzymy dlatego, iż w kanałach tekstowych nie możemy używać spacji, a wygląd kanału "online-0" jest niezbyt profesjonalny. Kanał możemy już nazwać nazwą "Online: 0". Krok 3. Stworzenie aplikacji Discord oraz bota. Przejdź na stronę https://discord.com/developers/applications zaloguj się następnie przejdź do zakładki Applications i w prawym górnym rogu kliknij przycisk New Application wpisz nazwę aplikacji np.: minecraft i klikamy przycisk Create. Teraz przejdź do zakładki Bot i klikamy przycisk Add bot po prawo. Bot został stworzony. Krok 4. Zaproszenie bota na nasz serwer discord. Przechodzimy do zakładki OAuth2 w SCOPES zaznaczamy bot, w BOT_PERMISSIONS Admininistrator kopiujemy link i wklejamy go w nową kartę w przeglądarce wybieramy serwer i dołączamy do niego. Szczegółowo jest to opisane tutaj: https://discordpy.readthedocs.io/en/latest/discord.html#inviting-your-bot. Bot jest już na naszym serwerze teraz przejdźmy do pisania wtyczki pod serwer. Do stworzenia wtyczki będziemy potrzebowali api discorda my użyjemy JDA (Java Discord API). Aktualizować nazwę kanału możemy 2 razy na 10 minut, więc aktualizowanie nazwy kanału zrobimy w tasku co 6 minut. Repozytoria maven: Spigot: https://www.spigotmc.org/wiki/spigot-maven/. JDA (Java Discord API) https://github.com/DV8FromTheWorld/JDA. Teraz zaczniemy tworzyć wtyczkę. 1. Stwórz klasę główną z jej statyczną instancją. import org.bukkit.plugin.java.JavaPlugin; public class DiscordPlugin extends JavaPlugin { private static DiscordPlugin discordPlugin; @Override public void onEnable(){ discordPlugin = new DiscordPlugin(); } public static DiscordPlugin getDiscordPlugin() { return discordPlugin; } } 2. Stwórz klasę Bot w której uruchomimy bota. import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDABuilder; import javax.security.auth.login.LoginException; public class Bot { private JDA jda; //Tworzymy voida z zmienną String która będzie przechowywała token. public Bot(String token){ try { jda = new JDABuilder(token).build(); } catch (LoginException e) { e.printStackTrace(); } } public JDA getJda() { return jda; } } 3. Tworzymy zmienną long o nazwie channelOnlineID, do której przypisujemy ID kanału, w którym chcemy zmienić nazwę. Aby otrzymać ID kanału kliknij PPM na kanał i z samego dołu wybierz: Kopiuj ID. import org.bukkit.plugin.java.JavaPlugin; public class DiscordPlugin extends JavaPlugin { private static DiscordPlugin discordPlugin; private long channelOnlineID; private Bot bot; @Override public void onEnable(){ discordPlugin = new DiscordPlugin(); //Token który odbierasz na stronie discord developer w zakładce bot this.bot = new Bot("NzI1MDkzNDc5MjIyMzQ1ODUy.XvdcVw.3NxaTmfIKYr6fsPnxOuaW2ZwFBg"); //ID kanału na którym nazwa ma być odświeżana this.channelOnlineID = 724920522042900533l; } public static DiscordPlugin getDiscordPlugin() { return discordPlugin; } public Bot getBot() { return bot; } public long getChannelOnlineID() { return channelOnlineID; } } 4. Tworzenie taska. import org.bukkit.Bukkit; import org.bukkit.scheduler.BukkitRunnable; public class Task extends BukkitRunnable { @Override public void run() { DiscordPlugin .getDiscordPlugin() .getBot() .getJda() .getVoiceChannelById(DiscordPlugin.getDiscordPlugin().getChannelOnlineID()) .getManager() .setName("Online: "+ Bukkit.getOnlinePlayers().size()) .queue(); } } 5. Rejestracja taska. Ja taska zarejestrowałem co 6 min, bo wiadomo na styk nie wszystko jest dobre. @Override public void onEnable(){ discordPlugin = new DiscordPlugin(); this.bot = new Bot("NzI1MDkzNDc5MjIyMzQ1ODUy.XvdcVw.3NfaTmBIKYr6fsPnxOuaW2ZwFBg"); this.channelOnlineID = 724920522042900533l; //Rejestracja taska new Task().runTaskTimerAsynchronously(this, ((60*20L)*6), ((60*20L)*6)); } Stwórz plugin.yml, a następnie zbuduj plugin i wgraj go na serwer. Dziękuję za obejrzenie całego poradnika. W razie problemów proszę pisać tutaj chętnie pomogę. Czekam na jakieś propozycje do innych poradników.
    1 punkt
  2. Cześć, jestem nowy na forum i chciałbym przedstawić wam mój plugin na wymianę itemów na bloki jak na serwerach typu easyHardcore. Plugin jest konfigurowalny w stu procentach, wszystko zawarte jest w pliku konfiguracyjnym. Chętnie przeczytam wasze propozycję do pluginu. Prezentacja poniżej: Wymagania: Spigot 1.8-1.18 Java 8+ Linki: SRC - GitHub Download - GitHub Prezentacja Kontakt: Discord: Osnixer#0001
    1 punkt
  3. CoFFeIN04

    Crashujący się serwer

    z jakiego silnika w jakiej wersji korzystasz? dodatkowo - zły dział...
    0 punktów
  4. ╔═════════════════╗ Flower ╚═════════════════╝ ▬▬▬▬▬▬▬▬▬๑۩۞۩๑▬▬▬▬▬▬▬▬▬ Chciałbym Was zaprosić na Polski serwer Community discord którym głównym zamysłem jest poznanie nowych osób oraz spędzanie czasu w miłym towarzystwie. (Liczy już przeszło 30k członków!) Szukasz osób do wspólnych rozgrywek do poszczególnych gier lub nudzi się tobie i chcesz z kimś popisać lub pogadać? Nasz serwer się idealnie do tego nadaje! ▬▬▬▬▬▬▬▬▬๑۩۞۩๑▬▬▬▬▬▬▬▬▬ Nasz serwer oferuję cały wachlarz tematyk takich jak: anime, muzyka, rysowanie, memy, fotografia, prace artystycznę, filmy i seriale. (Wszystkie dostępne tematyki zobaczysz po wejściu :)) Każdy znajdzie coś dla siebie Posiadamy wiele botów rozrywkowych, wygodne w obsłudze boty muzyczne, automatyczne kanały prywatne i wiele wiecej! Mam nadzieję że ta krótka prezentacja zachęci ciebie do wkroczenia w nasze szeregi! ▬▬▬▬▬▬▬▬▬๑۩۞۩๑▬▬▬▬▬▬▬▬▬ ╔─────╬╬╬───────────────────╬╬╬────╗ Zapraszamy: https://discord.com/invite/flower ╚─────╬╬╬───────────────────╬╬╬────╝
    0 punktów
Ten Ranking jest ustawiony na Warszawa/GMT+02:00
  • Najwięcej postów w tygodniu

    Quexsu
    Quexsu
    6 postów
    Grabsky
    Grabsky
    1 post
    Nicku
    Nicku
    1 post
    mervi_X
    mervi_X
    1 post
  • Najwięcej tematów w tygodniu

    Quexsu
    Quexsu
    1 temat
    mervi_X
    mervi_X
    1 temat
  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

×
×
  • Dodaj nową pozycję...