Kako napraviti botove za muziku u odbacivanju

Anonim

Kako napraviti botove za muziku u odbacivanju

U ovom ćemo članku razgovarati o ručno stvaranju bota za sviranje muzike u neskladu. Možete jednostavno kopirati cijeli dostavljeni kod i urediti ga ako posjedujete JavaScript vještine. Bot je stvorio SAD, ali u nekim fazama korisnik se još uvijek može suočiti s različitim problemima, pa vam savjetujemo da pažljivo čitate ne samo naša uputstva, već i na kodovima greške na ekranu ako postoje.

Ako se ispostavi da je ovaj materijal previše kompliciran za vas ili nije prikladan iz drugih razloga, koristite gotove besplatne botove za reprodukciju muzike. Članak na linku u nastavku naći ćete detaljne informacije o tome i možete implementirati zadatak.

Čitaj više:

Dodavanje muzičkog bota na server u neskladu

Igrajte muziku kroz bot u Discord-u

1. korak: Stvaranje nove aplikacije

Svaki bot za odbacivanje mora biti registriran na službenom portalu za programere. Tako da pristup svim potrebnim postavkama u vezi sa dozvolama i opšte ponašanje bot, možete kopirati link na svoj ovlašćenja u ličnom server i koristiti jedinstveni token, koji je potreban za daljnji razvoj komandi.

Idite na zvaničnom sajtu razdora Developer Portal

  1. Upotrijebite gornju vezu da biste otvorili glavnu stranicu portala za programere, prijavite se na Discord Lični račun i kliknite na "Novu aplikaciju" da biste stvorili novu aplikaciju.
  2. Idite na registraciju nove aplikacije kako biste stvorili muzički bot u Discord-u

  3. Unesite svoje ime, s obzirom na jedinstvenost, jer ako postoje mnogi robota sa istim imenom, to neće biti moguće stvoriti - obavijest o preimenovanju je obaviješten.
  4. Unesite ime prilikom registracije nove aplikacije za stvaranje muzičkog bota u Discord-u

  5. Po završetku otvorite meni na web mjestu i odaberite kategoriju "Bot".
  6. Idite na povezivanje komponenti nove aplikacije za stvaranje muzičkog bota u Discord-u

  7. Nasuprot niza "Build-A-Bot" kliknite na "Dodaj bot".
  8. Komponente tipki za povezivanje nove aplikacije za stvaranje muzičkog bota u Discord-u

  9. Potvrdite dodavanje bota za odabranu aplikaciju.
  10. Potvrda komponenti u novu aplikaciju za stvaranje muzičkog bota u neskladu

  11. Kroz poznati meni idite na «OAUTH2».
  12. Idite na aplikaciju Stranice postavki da biste stvorili muzički bot u Discord

  13. Ovaj je odjeljak odgovoran za opće parametre bota i njegove autorizacije. U "Dometi" blok, označite "Bot" stav.
  14. Odaberite vrstu primjene aplikacije za stvaranje mjuzikl bot u razdora

  15. Na listi dozvola, budite sigurni da biste aktivirali vezu sa govornih kanala i sposobnost da se govori, kao što je potrebno za daljnje emitiranje glazbe.
  16. Potražite dozvole glas kanal prilikom podešavanja aplikacija za stvaranje mjuzikl bot u razdora

  17. Bot bi trebao biti u mogućnosti za čitanje i slanje poruka, tako da ne zaboravite da omogućite ove opcije u odjeljku s tekstom chat dozvole. Naravno, možete osigurati sve dozvole odjednom, ali ovaj pristup je neverovatno, posebno u slučajevima gdje napraviti bot za masovnu korisnika.
  18. Potražite dozvole tekst kanal prilikom podešavanja aplikacija za stvaranje mjuzikl bot u razdora

  19. Čim podešavanje dozvola je završen, kopirajte link za prvu odobrenja bot na serveru, jer u suprotnom dodajte ga dok ne ispada.
  20. Kopija Referentni alat odobrenja za stvaranje mjuzikl bot u razdora

  21. Pratite ovaj link i odaberite test server gdje želite provjeriti bot.
  22. Prva dozvola nakon što je link za stvaranje muzički bot u razdora

  23. Potvrdi hvatanje i čekanja za informacije o uspješnim odobrenja.
  24. Uspješne autorizacije nakon link za stvaranje mjuzikl bot u razdora

Sada imate bota sa jedinstvenim token, a bot je već dodan na server, ali dok je u offline režimu. Da biste ga pokrenuti, to će morati izvesti nekoliko akcija više na lokalnom računalu, jer dok ne izvadite Boting Boting za odjavljen rad.

Korak 2: Pripremne radnje

Pripremne radnje uključuju stvaranje potrebnih direktorija i datoteka, instalacija alata i zavisnosti za njih. Ne postoji ništa komplicirano u tome, potrebno je samo da se svaku radnju u red, pažljivo nakon greške u bilo kojoj fazi.

  1. Kreiranje foldera sa imenom bot. Možete odabrati bilo koje mjesto, ali dom folder korisnika je najbolje odgovara za to.
  2. Dodavanje prilagođenog folder za stvaranje mjuzikl bot u razdora

  3. Stvoriti dvije datoteke u njemu: "Config.json" i "index.js". U prvom instalirati ukupne konfiguracije bot - njegov prefiks i jedinstven način, au drugom - čitav program kod sa komandama i uobičajene zadatke ovog alata.
  4. Dodavanje datoteke u folder po izboru za stvaranje mjuzikl bot u razdora

  5. Za rad bot će trebati Node.js. Ovaj alat je dizajniran za početak skripte na lokalnom računalu. Pratite link ispod i preuzeti svoje Installer za Windows.

    Preuzimanje node.js sa zvaničnog sajta

  6. Preuzimanja komponenta za stvaranje mjuzikl bot u razdora

  7. Očekuju da će preuzeti izvršnu datoteku izvršne, pokrenite ga i proći jednostavnu proceduru instalacije, slijedeći upute prikazane na ekranu.
  8. Trčanje i instaliranja komponenti za stvaranje mjuzikl bot u razdora

  9. Nakon toga, otvorite "Command Line" pogodan za vas, na primjer, unos CMD u komunalnom "Run" (to pokreće Win + R kombinaciju tastera).
  10. Pokretanje komandne linije za stvaranje mjuzikl bot u razdora

  11. Ugradite modul za rad sa razdora API, koji se zove "discord.js". Da biste to učinili, u prozoru konzole da se otvori, unesite NPM instalirati discord.js ffmpeg-binarne opsscript YTDL-Core --Save i pritisnite ENTER - tako da odmah dodati sve potrebne zavisnosti.
  12. Dodatni moduli postavljanje naredbu za kreiranje mjuzikl bot u razdora

  13. Čekati za obavijesti na ekranu na uspješne instalacije, bez zatvaranja trenutne konzole prozor. Ako se pojave greške, uče kod i koristiti tražilice pronaći posao odluku o forumima ili na zvaničnom sajtu.
  14. Proces instalacije dodatnih modula za stvaranje mjuzikl bot u razdora

Kao rezultat toga, domaći folder korisnika bi se trebao pojaviti datoteke povezane sa Node.js komponentu i dodao nakon modula. Ponovo pokrenite računalo tako da bot nema poteškoća pokretanje, a zatim idite na sljedeći korak.

Korak 3: Montaža Bot Configuration File

Vi već znate da je u stvorio bot konfiguracijske datoteke će biti par redova koda koji je odgovoran za polovnih prefiks (simbol prije ulaska komande na serveru) i jedinstveni token koji definira primjenu u API-ja. Da ispuni sve dalje radnje, preporučujemo skidanje program sa JS podršku sintakse ili bilo napredni uređivač teksta, ako to nije ranije učinjeno. U članku na link ispod da ćete biti u mogućnosti da se upoznate sa dostupnim odgovarajuće rešenje.

Opširnije: Izbor razvojno okruženje za programiranje

Čim je instaliran na računaru i spreman za rad, možete sigurno početi da uređivanje konfiguracijsku datoteku, unos korisničkih podataka tamo.

  1. Pokrenite datoteku config.js kroz tekst editor ili razvojno okruženje, ubacite kod ispod.

    {

    "Prefiks": "!",

    "Token": "Tvoja-toke"

    }

    Mijenjanje prefiksa prilikom uređivanja konfiguracijsku datoteku za stvaranje mjuzikl bot u razdora

    Promijeniti prefiks u dvostrukim navodnicima do željene ili ostaviti znak uzvika. Primjer komande koristeći ovaj znak izgleda ovako :! Play.

  2. Idite na svoj bot na portalu razvoj, pronađite jedinstveni token tamo i kopirajte ga.
  3. Kopiranje jedinstvene oznake za stvaranje mjuzikl bot u razdora

  4. Ubacite-toke inspekcije umjesto bez brisanja dvostrukih navodnika.
  5. Zamjena jedinstveni token u konfiguracijsku datoteku za stvaranje mjuzikl bot u razdora

  6. Sačuvajte promjene i zatvorite ovu datoteku. Usput, možete izvesti istu radnju kroz standardni "notebook".
  7. Koristeći tekst editor prilikom uređivanja konfiguracijsku datoteku za stvaranje mjuzikl bot u razdora

Na ovoj akcije sa datoteku konfiguracije su završeni, ne postoji više vam je potrebno da se propiše jednu liniju koda. Zatvori, ne zaboravljajući da sačuvate izmjene, a tako i nastaviti dalje pisanje bot za reprodukciju glazbe.

Korak 4: Suđenje Pokretanje Bot

Prvo, moramo biti sigurni da je bot se generalno radi na serveru i ide u online modu, to će biti potrebno pisati svoj glavni dio koda za index.js, a zatim koristite Node.js za početak.

  1. Kroz razvojno okruženje ili urednik izabrani tekst, otvorite navedenom datoteku za uređivanje.
  2. Otvaranje ulazak kod datoteku da biste kreirali muzički bot u razdora

  3. Umetnite blok koda koji je odgovoran za instalaciju zavisnost i ukazuje na module koristi:

    Const Nesloga = potrebne ( 'discord.js');

    const {

    Prefiks,

    žeton

    } = Potrebne ( './ config.json');

    const YTDL = potrebne ( 'YTDL-CORE');

  4. Ovisnost deklaracija kod za stvaranje mjuzikl bot u razdora

  5. Uz pomoć prethodno navedene oznake, stvoriti klijenta i prijava, koja se provodi unošenjem samo dva jednostavna linije:

    Const Klijent = new discord.client ();

    Client.login (Token);

  6. Dodavanje klijenta i tokena za stvaranje mjuzikl bot u razdora

  7. Ostaje samo da odredite posljednje osnovne linije za slušanje bot.

    Client.ONCE ( 'Ready', () => {

    Console.log ( 'Spremni!');

    });

    Client.Once ( 'ponovnog', () => {

    Console.log ( 'ponovnog!');

    });

    Client.ONCE ( 'DISCONNECT', () => {

    Console.log ( 'Disconnect!');

    });

  8. Komande kada povezivanja u kodu za stvaranje mjuzikl bot u razdora

  9. Proširite meni "File" i spremite promene.
  10. Čuvanje promjene nakon uređivanja kod za stvaranje mjuzikl bot u razdora

  11. Pokrenite konzola ponovo na jednostavan način.
  12. Pokretanje komandne linije da biste uključili bot stvoriti mjuzikl bot u razdora

  13. Unesite čvor index.js naredbu za pokretanje bot skripte.
  14. Bot Inspekcijski tim da se stvori muzički bot u razdora

  15. Ako se njegove datoteke ne nalaze u korisničkom home direktorij, poslije čvora morati navesti kompletnu pusti ih.
  16. Unesite drugu naredbu bot prekidač za stvaranje mjuzikl bot u razdora

  17. Uspješnog lansiranja bot je označen pojavio natpis "Spremni!".
  18. Rezultat uspješnog lansiranja za stvaranje mjuzikl bot u razdora

  19. Otvoren razdora i uvjerite se da je bot otišao u status "online".
  20. Provjerite bot online stvoriti mjuzikl bot u razdora

Korak 5: Pisanje glavni koder mjuzikla bot

Najsloženiji proces ostao - pisanje osnovni kod za mjuzikl bot. Tu je popis zadataka koje mora obavljati: čitanje poruka i obradu komande, definicija naziv pjesme ili njegovu adresu, povezivanje govornog kanala i reprodukciju. Dozvole na sve ovo bot je, tako da samo treba da odredite akcije koristeći JavaScript funkcije, koje se vrši u istom "index.js" datoteku.

Uređivanje kod kako bi se osigurala normalan rad mjuzikla bot u razdora

Dodajte jednostavna mogućnost za čitanje poruke:

Client.on ( 'poruke', Async Poruka => {

}

Sastoji se od samo dva reda, ali će omogućiti bot da se običaj upita i ispravno obrađuju. Može se reći da je ovo jedan od najvažnijih timova za robota bilo koje vrste. Budite sigurni da biste dodali ignoriranje poruka od ostalih robota unosom

ako povratak (message.author.bot);

Ovo izbjegava sukobe dok koristite više robota na serveru istovremeno. Dalje, to će biti potrebno provjeriti prefiks tako da je bot prihvatio tim ili vratila.

if (Message.content.startSwith (prefiks)!) povratak;

Provjera pokrenula naredbe se vrši jednostavnim IF operatora, a dizajn u našem slučaju izgleda ovako:

Const ServerQueue = Queue.Get (Message.Guild.ID);

if (Message.Content.startSwith ( `$ {prefiksom} play`)) {

EXECUTE (Poruka, ServerQueue);

Povratak;

} Else if (message.content.startswith ( `$ {prefiksom} Skip`)) {

SKIP (Poruka, ServerQueue);

Povratak;

} Else if (message.content.startSwith ( `$ {prefiksom} stop`)) {

Stop (Poruka, Serverqueue);

Povratak;

} Else {

Message.Channel.send ( 'Morate koristiti postojeće komandu!')

}

Imajte na umu da je SEND ( '') funkcija šalje poruku korisniku ako se iznenada uđe u komandu neradni. Ova poruka možete uređivati, mijenja natpis pod navodnicima.

Sada je bot naučili da se naredbe, ali sve dok se ne može komunicirati s njima, s obzirom da akcije nisu navedeni. Prvo dodajte naredbu Play, koja je odgovorna za reprodukciju. Za to, niz je potrebna sa sljedeći obrazac:

Const Queue = Nove Karta ();

On šalje sve komande u redu i čini pjesme da igra samo kada je prethodni krajevima. Dalje, to će biti potrebno da se stvori funkciju koja će provjeriti da li je korisnik spojen na govorni kanal i da li je bot je odgovarajuće dozvole.

ASYNC FUNKCIJA Izvrši (PORUKA, SERVERQUEUE) {

const args = message.content.split ( '');

Const VoiceChannel = Message.Member.VoiceChannel;

if (! VoiceChannel) Povratak Message.Channel.send ( 'Da slušati muziku, morate biti u govorni kanal!');

const Dozvole = VoiceChannel.permissionSFOR (Message.Client.user);

If (! Permissions.has ( 'Connect') ||! Permissions.has ( 'govore')) {

Povratak Message.channel.send ( 'Moram dozvole da se pridruže i govoriti svoj glas kanal!');

}

}

Sljedeća Akcija - Povezivanje YTDL biblioteku, jer to bot će pročitati ime pjesme na link sa YouTube, nakon čega se igra na serveru. Proći će da ubacite komadić koda umetak.

Const Songinfo = Await ytdl.getinfo (args [1]);

Const Song = {

Naslov: Songinfo.title,

URL: Songinfo.Video_URL,

};

Sljedeći blok koda će vam omogućiti da shvatite da li postoje pjesme u red ili možete odmah spojiti na govorni kanal i početak reprodukcije.

If (! Serverqueue) {

} Else {

ServerQueue.Songs.push (Song);

Console.log (Serverqueue.songs);

Povratak Message.Channel.send ( `$ {Song.title} je dodan u red '!);

}

Zatim dolazi malo komplikovano za početnike programere shemu ugovor koji dodaje pjesmu u niz i čini isto svaki put kada uđete! Play provjeru red i odabir prave akcije. Obratite pažnju na komentare predstavio, što vam omogućava da se nosi sa svim suptilnosti.

// Stvaranje ugovor za red

Const QueueContruct = {

TextChannel: Message.Channel,

VoiceChannel: VoiceChannel,

Priključak: NULL,

Pjesme: [],

VOLUME: 5,

Playing: Istina,

};

// Set red sa našim ugovorom

queue.set (Message.Guild.ID, QueueContruct);

// Umetnite sastav u naš niz pjesama

queuecontruct.songs.push (SONG);

try {

// Ovdje mi pokušavamo da se pridruže glas chat i spasiti vezu u objektu

var veze = Await voicechannel.join ();

queuecontruct.connection = priključku;

// Pozivanje funkcije za reprodukciju za početak pjesmu

Play (Message.Guild, Queuecontruct.songs [0]);

} Catch (ERR) {

// Prikaz poruka o grešci ako bot ne može pridružiti glas chat

Console.log (ERR);

queue.delete (Message.Guild.ID);

Povratak Message.Channel.send (ERR);

}

Uz red, sve je jasno, ali i dalje ne igra pjesama, jer ne postoji zadatak za funkciju Play. Da biste to učinili u kodu je potrebno dodati strukture

Funkcija Play (Guild SONG) {

Const ServerQueue = queue.get (guild.id);

If (! Pjesmu) {

ServerQueue.VoiceChannel.Leave ();

queue.delete (guild.id);

Povratak;

}

}

Reprodukcija počinje pomoću funkcije PlayStream () i navedeni link na stazu.

Const Dispečer = ServerQueue.Connection.PlayStream (YTDL (Song.url))

.on ( 'Kraj', () => {

Console.log ( 'Muzika je gotovo!');

// uklanja gotovih pjesmu iz reda

serverqueue.songs.shift ();

// ponovo izaziva reprodukciju funkcija sa sljedećim pjesmu

Play (Savez, Serverqueue.songs [0]);

})

.on ( "greška", greška => {

Console.error (Greška);

});

dispatcher.setvolumelogarithmic (serverqueue.volume / 5);

Ako želite da dodate funkciju pjesmu skip, na primjer, kada odlučite igrati za reprodukciju, prvo se pobrinuti za odgovarajuću komandu, a zatim dodajte takav fragment:

FUNKCIJA SKIP (Poruka, Serverqueue) {

(! Message.member.voiceChannel) ako Povratak Message.Channel.send ( "Trebalo bi biti u glas kanal stop glazbu! ');

Ako (Serverqueue!) Povratak Message.Channel.send ( "Nema pesma koju sam mogao preskočiti! ');

ServerQueue.connection.dispatcher.end ();

}

Približno istu šemu radi i funkciju stanica, ali je blok sa kodom stekne malo drugačiji izgled:

FUNKCIJA STOP (Poruka, Serverqueue) {

if (! Message.member.VoiceChannel) Povratak Message.Channel.send ( '

Morate biti u govorni kanal da se zaustavi glazbu ')!;

ServerQueue.Songs = [];

ServerQueue.connection.dispatcher.end ();

}

Uzmite u obzir da gore navedene informacije predstavljene je pogodan isključivo za one korisnike koji su već upoznati sa JavaScript jezik ili se bavi samo u proučavanju i odlučili da naprave mjuzikl bot. Ako ne posjedujete vještine u cjelini, a navedeni blokovi sa kodom koji vam ništa reći na sve, jednostavno ubacite čitav izvorni kod u datoteku, zamijenite poruke iz bot na ruski (oni su u navodnicima) i Save the mijenja. Svi izvorni kod ima ove vrste:

Eksterijer punu izvorni kod za stvaranje mjuzikl bot u razdora

Const Nesloga = potrebne ( 'discord.js');

const {

Prefiks,

žeton

} = Potrebne ( './ config.json');

const YTDL = potrebne ( 'YTDL-CORE');

Const Klijent = new discord.client ();

Const Queue = Nove Karta ();

Client.ONCE ( 'Ready', () => {

Console.log ( 'Spremni!');

});

Client.Once ( 'ponovnog', () => {

Console.log ( 'ponovnog!');

});

Client.ONCE ( 'DISCONNECT', () => {

Console.log ( 'Disconnect!');

});

Client.on ( 'poruke', Async Poruka => {

ako povratak (message.author.bot);

if (Message.content.startSwith (prefiks)!) povratak;

Const ServerQueue = Queue.Get (Message.Guild.ID);

if (Message.Content.startSwith ( `$ {prefiksom} play`)) {

EXECUTE (Poruka, ServerQueue);

Povratak;

} Else if (message.content.startswith ( `$ {prefiksom} Skip`)) {

SKIP (Poruka, ServerQueue);

Povratak;

} Else if (message.content.startSwith ( `$ {prefiksom} stop`)) {

Stop (Poruka, Serverqueue);

Povratak;

} Else {

Message.Channel.send ( "Potrebno je da unesete validnu Command! ')

}

});

ASYNC FUNKCIJA Izvrši (PORUKA, SERVERQUEUE) {

const args = message.content.split ( '');

Const VoiceChannel = Message.Member.VoiceChannel;

ako Povratak Message.Channel.send ( "Morate biti u A Voice Channel Play Music! ') (VoiceChannel!);

const Dozvole = VoiceChannel.permissionSFOR (Message.Client.user);

If (! Permissions.has ( 'Connect') ||! Permissions.has ( 'govore')) {

Povratak Message.Channel.send ( "Trebam Dozvole za prijem i govore u Your Voice Channel! ');

}

Const Songinfo = Await ytdl.getinfo (args [1]);

Const Song = {

Naslov: Songinfo.title,

URL: Songinfo.Video_URL,

};

If (! Serverqueue) {

Const QueueContruct = {

TextChannel: Message.Channel,

VoiceChannel: VoiceChannel,

Priključak: NULL,

Pjesme: [],

VOLUME: 5,

Playing: Istina,

};

queue.set (Message.Guild.ID, QueueContruct);

queuecontruct.songs.push (SONG);

try {

var veze = Await voicechannel.join ();

queuecontruct.connection = priključku;

Play (Message.Guild, Queuecontruct.songs [0]);

} Catch (ERR) {

Console.log (ERR);

queue.delete (Message.Guild.ID);

Povratak Message.Channel.send (ERR);

}

} Else {

ServerQueue.Songs.push (Song);

Console.log (Serverqueue.songs);

Povratak Message.Channel.send ( `$ {Song.title} je dodan u red '!);

}

}

FUNKCIJA SKIP (Poruka, Serverqueue) {

if (message.member.voiceChannel!) Povratak Message.Channel.send ( 'Morate biti u govorni kanal za Stop The Music!');

if (ServerQueue!) Povratak Message.Channel.send ( "There Is No Song da sam mogao Idi! ');

ServerQueue.connection.dispatcher.end ();

}

FUNKCIJA STOP (Poruka, Serverqueue) {

if (message.member.voiceChannel!) Povratak Message.Channel.send ( 'Morate biti u govorni kanal za Stop The Music!');

ServerQueue.Songs = [];

ServerQueue.connection.dispatcher.end ();

}

Funkcija Play (Guild SONG) {

Const ServerQueue = queue.get (guild.id);

If (! Pjesmu) {

ServerQueue.VoiceChannel.Leave ();

queue.delete (guild.id);

Povratak;

}

Const Dispečer = ServerQueue.Connection.PlayStream (YTDL (Song.url))

.on ( 'Kraj', () => {

Console.log ( 'Muzika Završeno!');

serverqueue.songs.shift ();

Play (Savez, Serverqueue.songs [0]);

})

.on ( "greška", greška => {

Console.error (Greška);

});

dispatcher.setvolumelogarithmic (serverqueue.volume / 5);

}

Client.login (Token);

Po završetku, bolje je da ponovo pokrenete bot, nakon čega možete ići na vaš server, povezivanje na govorni kanal i unositi komandom interakcije, provjera kako da reaguju na bot.

Source Code Provjerite tima za stvaranje mjuzikl bot u razdora

Ako gornja varijanta bota nije prikladna za vas, možete pronaći izvorne kodove na istom Githipu i kopiranje na računar. Princip registracije i lansira ostaje isti, pa ako je potrebno, jednostavno uredite gotov kod, a zatim nastavite sa testiranjem bota.

Potražite gotove rješenja za stvaranje muzičkog bota u neskladu

U ovom članku nismo utjecali na pražnjenje bot-a na hostingu, distribuiramo ga između ostalih korisnika, stvarajući avatar i upotrebu otvorenih mjesta, odakle ga može biti ovlašteno. Sve je ovo zasebne procese koji bi trebali biti uključeni samo kad ste izvrali svoju vještinu za stvaranje botova i spremni ste za distribuciju projekata na mreži.

Čitaj više