Kuidas teha Discordi muusikabotti
Sellel lehel
Muusikabott on Discordi bott, mis liitub häälkanaliga ja mängib heli. Boti osa — käsud, järjekord, sõnum parajasti mängivast loost — on tavaline botikood. Keeruline on heli: lugude hankimine, nende kodeerimine ja häälkanalisse voogesitamine ilma katkestusteta.
See juhend selgitab kahte viisi heli käsitlemiseks, milliseid teeke saab pärast Discordi 2026. aasta häälemuudatusi endiselt kasutada ning mida muusikabott tohib ja ei tohi mängida. Kui sa pole kunagi botti teinud, alusta juhendist kuidas teha Discordi botti.
Kõigepealt: Discordi krüpteeritud hääl (DAVE)
Alates 1. märtsist 2026 lubab Discord ainult otspunktkrüpteeritud häälkõnesid protokolliga DAVE. Bott, mis on ehitatud seda mittetoetavale teegile, ei saa enam häälkanalitega üldse liituda. Seetõttu lakkasid paljud vanemad muusikaboti õpetused ja repositooriumid töötamast.
Enne alustamist veendu, et sinu tööriistad on piisavalt uued:
| Teek | DAVE tugi alates |
|---|---|
| discord.py | 2.7.0, paigaldatud kui discord.py[voice] |
| @discordjs/voice | 0.19, mis vajab Node.js 22.12 või uuemat |
| Lavalinki server | 4.2.0 |
| discord-player | 7.2.0 |
Kaks viisi heli mängimiseks: Lavalink või FFmpeg
| Lavalink | FFmpeg botis | |
|---|---|---|
| Kuidas see töötab | Eraldi heliserver voogesitab muusikat; bott saadab sellele käske | Bott ise dekodeerib ja voogesitab heli FFmpegiga |
| Bott vajab | Lavalinki kliendi teeki | Boti kõrvale paigaldatud FFmpegi ja Opust |
| Skaleerub | Paljudesse serveritesse korraga; üks Lavalink võib teenindada mitut botti | Mõne serverini, enne kui boti CPU saab piiriks |
| Sobib | Igale botile, mille kasvu ootad | Õppimiseks või ühe serveri botile |
Enamik avalikke muusikaboteid kasutab Lavalinki. FFmpegiga on lihtsam alustada, sest käivitada tuleb ainult üks programm.
Hooldatud Lavalinki kliendi teegid
Need kliendid on Lavalinki ametlikus nimekirjas ja neil on 2026. aastal ilmunud versioone ülaltoodud häälemuudatustega:
- JavaScript (discord.js): lavalink-client, Shoukaku, Riffy, Moonlink.js
- Python (discord.py): Wavelink, lavalink.py, mafic, pomice
- C#: Lavalink4NET
- Java (JDA): Lavalink-Client
Igaüks neist ühendub Lavalinki serveriga hosti, pordi ja parooliga ning annab seejärel sinu botile käsud nagu otsi, mängi, jäta vahele ja helitugevus. Serveri enda seadistamist käsitleb juhend kuidas hostida Lavalinki serverit.
JavaScriptis on olemas ka discord-player, mis käsitleb heli boti sees. Selle praegune versioon YouTube'i enam ei toeta; see mängib SoundCloudi, Vimeot, manuseid ning Spotify või Apple Musicu linke teiste allikate kaudu.
FFmpegi viis mõne reaga
Et näha häält töötamas, mängi faili, mis kuulub sulle. Pythonis paigalda hääle lisa ja veendu, et ffmpeg on sinu süsteemis olemas:
pip install "discord.py[voice]"
Seejärel liitu slash-käsu sees kasutaja kanaliga ja mängi kohalikku faili:
channel = interaction.user.voice.channel
voice = await channel.connect()
voice.play(discord.FFmpegPCMAudio("song.mp3"))
await interaction.response.send_message("Playing.")
JavaScriptis on vaste @discordjs/voice koos @discordjs/opus ja FFmpegiga. Päris bott lisab järjekorra, vahelejätmise ja peatamise käsud ning lahkub kanalist, kui see on tühi.
Mida muusikabott tohib mängida
Siin satub enamik muusikaboteid hätta, seega tee see endale selgeks enne ehitamist:
- YouTube'i tingimused ei luba selle sisu ilma loata alla laadida ega edasi edastada ega selle kaitsemehhanisme vältida. Suuri muusikaboteid on just sellepärast suletud.
- Discordi kogukonna juhised keelavad jagada sisu, mis rikub kellegi intellektuaalomandit, ja boti omanik vastutab selle eest, mida bott teeb.
- Turvalisemad allikad: muusika, mis kuulub sulle või millele sul on litsents, autoritasuvabad ja Creative Commonsi kogud, internetiraadio, mis seda lubab, ning failid, mida liikmed üles laadivad koos õigusega neid jagada.
Lavalink ja selle pluginad suudavad tehniliselt mängida paljudelt saitidelt; kas sul on selleks luba, on eraldi küsimus ja sellele vastamine on sinu teha.
Muusikaboti hostimine
Muusikabott peab püsima võrgus ja hoidma voogesituse ajal stabiilset ühendust, millega Wi-Fi-ga kodune arvuti harva kaua hakkama saab. HytHosti Discordi botimajutuses:
- Bott töötab Node.js, Python, Java, Go, C# või Bun runtime'il, mille valid tellimisel.
- Lavalink on omaette runtime. See töötab eraldi serverina: telli üks pakett botile ja teine Lavalinki runtime'iga või palu meil mitme botikohaga paketis üks neist Lavalinkile ümber tõsta.
- Suuna boti Lavalinki klient Lavalinki serveri aadressile, pordile ja paroolile, nagu need on näidatud selle paneelis.
Boti enda võrgus hoidmist, automaatse taaskäivituse ja turvaliselt hoitud tokeniga, käsitleb juhend kuidas hostida Discordi botti 24/7.
Käita botti ja selle Lavalinki serverit HytHosti Discordi botimajutuses — Node.js, Python, Java, Lavalink ja muu, alates €0.89/kuu.
Vaata botimajutuse paketteKorduma kippuvad küsimused
Tõenäoliselt Discordi krüpteeritud hääle tõttu. Alates 1. märtsist 2026 saavad häälkõnedega liituda ainult DAVE protokolli toetavad kliendid. Uuenda discord.py 2.7, @discordjs/voice 0.19 või Lavalink 4.2 või uuemale versioonile ning kasuta ajakohast Lavalinki klienti.
Ei. Väike bott saab voogesitada otse FFmpegiga. Lavalink tasub end ära siis, kui bott mängib mitmes serveris korraga, sest see võtab helitöö botilt ära.
Tehniliselt suudavad mõned tööriistad seda endiselt, kuid YouTube'i tingimused ei luba selle sisu ilma loata alla laadida ega edasi edastada ning tööriistad lähevad sageli katki. Turvaline valik on muusika, mis kuulub sulle või millele sul on litsents.
discord.js puhul Lavalinki klient nagu lavalink-client või Shoukaku; discord.py puhul Wavelink või lavalink.py. Vali selline, millel on 2026. aasta väljalase, et see toetaks Discordi krüpteeritud häält.
Bott ise on kerge; ressursse nõuab helitöö. Lavalinkiga anna väikese boti puhul Lavalinki serverile umbes 1 GB (meie soovitus) ja botile nii palju, kui ta vajab ilma muusikata.
Vii oma muusikabott võrku
HytHosti Discordi botimajutus käitab sinu botti ja Lavalinki serverit koos MySQL andmebaasi ja varukoopiatega — alates €0.89/kuu.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursKas see juhend oli abiks?