Sa kini nga artikulo, maghisgot kami bahin sa mano nga nagmugna sa usa ka bot alang sa pagdula sa musika sa panagbingkil. Mahimo nimo nga kopyahon ang tibuuk nga gisumite nga code, ug i-edit kini alang sa imong kaugalingon kung ikaw adunay kahanas sa javascript. Ang bot gihimo sa amon, apan sa pipila ka mga yugto mahimo pa nga mag-atubang sa lainlaing mga problema, mao nga gitambagan ka namon nga basahon ang mga panudlo sa sayup kung adunay ingon.
Kung kini nahimo nga kini nga materyal komplikado kaayo alang kanimo o dili angay alang sa ubang mga hinungdan, gamita ang andam nga mga bot sa musika aron magdula musika. Ang artikulo sa link sa ubos makit-an nimo ang detalyado nga kasayuran bahin niini ug mahimo nimong ipatuman ang buluhaton.
Magbasa pa:
Pagdugang usa ka musikal nga bot sa server sa panagbingkil
Pagdula sa musika pinaagi sa Bot sa Discord
Lakang 1: Paghimo usa ka bag-ong aplikasyon
Ang matag bot alang sa discard kinahanglan nga narehistro sa opisyal nga portal alang sa mga nag-develop. Mao nga naka-access ka sa tanan nga mga kinahanglanon nga setting nga may kalabutan sa mga pagtugot ug sa kinatibuk-ang pamatasan sa bot, mahimo nimong kopyahon ang link sa personal nga server ug gamiton ang labi nga pag-uswag sa mga mando.
Adto sa opisyal nga website sa Discord Developer Portal
- Gamita ang link sa ibabaw aron maablihan ang nag-unang panid sa Portal alang sa mga nag-develop, pag-log in sa Discord Personal Account ug i-klik ang "Bag-ong Aplikasyon" aron makahimo usa ka bag-ong aplikasyon.
- Pagsulud sa iyang ngalan, gihatagan ang pagkatalagsaon, tungod kay kung adunay daghang mga bota nga parehas nga ngalan, dili kini mahimo sa paghimo - usa ka pahibalo sa pag-usab ang gipahibalo.
- Pagkahuman, ablihi ang menu sa site ug pilia ang kategoryang "Bot".
- Atbang sa "pagtukod-a-bot" string click sa "Add Bot".
- Pagpanghimatuud sa pagdugang sa bot alang sa pinili nga aplikasyon.
- Pinaagi sa usa ka pamilyar nga menu, adto sa «Oauth2».
- Kini nga seksyon mao ang responsable alang sa kinatibuk-ang mga parameter sa bot ug pagtugot niini. Sa "mga scope" block, markahi ang parapo nga "bot".
- Sa lista sa mga pagtugot, siguruha nga ma-aktibo ang koneksyon sa mga channel sa tingog ug ang abilidad sa pagsulti, ingon nga kini kinahanglan alang sa dugang nga pagsibya sa musika.
- Ang bot kinahanglan nga magbasa ug magpadala mga mensahe, busa ayaw kalimti ang mga kapilian sa seksyon nga adunay pagtugot sa chat chat. Siyempre, mahimo nimong hatagan ang tanan nga mga pagtugot sa usa ka higayon, apan kini nga pamaagi dili katuohan, labi na sa mga kaso diin naghimo ka usa ka bot alang sa usa ka gumagamit sa masa.
- Sa pagkahuman nahuman na ang setting sa pagtugot, kopyaha ang link alang sa una nga pagtugot sa bot sa server, tungod kay kung dili kini idugang kini hangtod kini.
- Sunda ang kini nga link ug pilia ang server sa pagsulay diin gusto nimo susihon ang bot.
- Pagpanghimatuud sa pagkuha ug paghulat alang sa kasayuran bahin sa malampuson nga pagtugot.
Karon adunay usa ka bot nga adunay usa ka talagsaon nga timaan, ug ang bot na gidugang sa server, apan samtang sa Offline Mode. Aron masugdan kini, kinahanglan nga maghimo usa ka daghan pa nga mga aksyon sa lokal nga kompyuter, tungod kay wala namon ibubo ang boting sa boting alang sa Offline Operation.
Lakang 2: Mga Aksyon sa Pag-andam
Ang mga aksyon sa pag-andam naglakip sa paghimo sa mga kinahanglan nga mga direktoryo ug mga file, ang pag-instalar sa mga himan ug pagsalig alang kanila. Wala'y bisan unsa nga komplikado niini, kinahanglan nimo nga himuon ang matag aksyon sa baylo, nga maampingon nga pagsunod sa mga sayup sa bisan unsang yugto.
- Paghimo usa ka folder nga adunay ngalan sa bot. Mahimo ka makapili bisan unsang lugar, apan ang folder sa home sa gumagamit labing angay alang niini.
- Paghimo duha nga mga file sa kini: "Config.json" ug "Index.js". Sa una nga pag-install ang kinatibuk-ang pagsumpo sa bot - kini prefix ug talagsaon nga timaan, ug sa ikaduha - ang tibuuk nga code sa programa nga adunay mga sugo ug sagad nga mga buluhaton sa kini nga himan.
- Alang sa buhat sa bot ang kinahanglan node.js. Kini nga himan gidisenyo aron magsugod sa mga script sa lokal nga computer. Sunda ang link sa ubos ug i-download ang installer alang sa Windows.
Pag-download sa Node.js gikan sa Opisyal nga Site
- Gilauman nga i-download ang executable file nga gipagawas, pagdagan kini ug ipasa ang yano nga pamaagi sa pag-install, pagsunod sa mga panudlo nga gipakita sa screen.
- Pagkahuman niana, ablihi ang "linya sa mando" alang kanimo, pananglitan, pagsulod sa CMD sa "Run" Utility (kini magsugod sa kombinasyon sa Win + R
- I-install ang module aron magtrabaho uban ang discord aci, nga gitawag nga "panagbingkil.js". Aron mahimo kini, sa bintana sa console nga nagbukas, isulod ang NPM INSCET DICORD.JS FFMPEG-BINARIES OPSL-CORE - aron madugangan dayon ang mga kinahanglan nga pagsalig.
- Paghulat alang sa mga pahibalo sa screen sa usa ka malampuson nga pag-instalar, nga wala pagsira sa karon nga bintana sa console. Kung makita ang mga sayup, hibal-i ang ilang code ug gamita ang search engine aron makapangita usa ka desisyon sa trabaho sa mga forums o opisyal nga website.
Ingon usa ka sangputanan, ang folder sa balay sa gumagamit kinahanglan nga magpakita mga file nga may kalabutan sa sangkap sa node.js ug gidugang pagkahuman sa module. I-restart ang computer aron ang bot wala'y kalisud sa pagsugod, unya pag-adto sa sunod nga lakang.
Lakang 3: Pag-edit sa File Configurasyon sa Bot
Nahibal-an na nimo nga sa gilaraw nga file sa pag-configure sa bot adunay tanan nga pares sa mga laray sa code nga responsable sa gigamit nga prefix (usa ka talagsaon nga timaan nga nagpunting sa aplikasyon sa API. Aron matuman ang tanan nga dugang nga mga aksyon, girekomenda namon ang pag-download sa usa ka programa nga adunay suporta sa JS Syntax o bisan unsang abante nga editor sa teksto kung wala pa kini nahimo kaniadto. Ang artikulo sa link sa ubos mahimo nimong mailhan ang imong kaugalingon sa magamit nga angay nga mga solusyon.
Magbasa pa: Pagpili sa kalikopan sa kalamboan alang sa programming
Sa diha nga kini gi-install sa computer ug andam nga magtrabaho, mahimo ka nga luwas nga magsugod sa pag-edit sa file sa pag-configure, pagsulod sa datos sa gumagamit didto.
- Pagdagan ang Config.js file pinaagi sa usa ka text editor o palibot sa pag-uswag, isulud ang code sa ubos.
{
"Prefix": "!",
"Token": "Imong-Tooke"
}
Bag-ohon ang prefix sa doble nga mga kinutlo sa gusto o ibilin ang usa ka marka sa pag-uyab. Usa ka pananglitan sa usa ka sugo nga gigamit kini nga timaan ingon niini :! Play.
- Pag-adto sa imong bot sa Portal sa Development, pangitaa ang usa ka talagsaon nga timaan didto ug kopyahon kini.
- Isulud ang imong pag-inspeksyon sa imong toke sa baylo nga dili pagtangtang sa doble nga mga kinutlo.
- I-save ang mga pagbag-o ug pagsira sa kini nga file. Pinaagi sa paagi, mahimo nimong buhaton ang parehas nga aksyon pinaagi sa usa ka sumbanan nga "notebook".
Sa kini nga mga aksyon nga nahuman ang file sa pag-configure, wala na kinahanglan nimo nga magreseta sa usa ka linya sa code. Isira kini, nga wala makalimtan nga i-save ang mga pag-edit nga gihimo, ug magpadayon sa dugang nga pagsulat sa bot alang sa pagdula sa musika.
Lakang 4: Pagsulay Pagsugod Bot
Una, kinahanglan naton nga sigurohon nga ang bot sagad nga nagdagan sa server ug moadto sa online mode, kinahanglan nga isulat ang panguna nga bahin sa code sa indeks.js, ug dayon magsugod .js magsugod.
- Pinaagi sa kalamboan nga palibot o ang napili nga editor sa teksto, ablihi ang nahisgutan nga file alang sa pag-edit.
- Isulud ang bloke sa code nga responsable sa pag-instalar sa pagsalig ug nagpaila sa mga module nga gigamit:
Konskripsyon sa Konskot = nanginahanglan ('panagbingkil.js');
tigpanot nga {
Prefix,
ngete
} = Nanginahanglan ('./ config.json');
Const ytdl = nanginahanglan ('ytdl-core');
- Sa tabang sa kaniadto nga gitakda nga mga timaan, paghimo usa ka kliyente ug pag-login, nga gidala pinaagi sa pagsulod sa duha ka yano nga linya:
CLICEN CLICENT = New Discord.client ();
Kliyente.login (token);
- Nagpabilin lang kini aron mahibal-an ang katapusan nga sukaranan nga linya alang sa pagpamati sa bot.
Kliyente.once ('Andam', () => {
Console.log ('andam na!');
});
Kliyente.once ('pag-uli sa' () => {
Console.log ('pag-uli sa pagkonektar!');
});
Kliyente.once ('Disconnect', () => {
Console.log ('pagdiskonekta!');
});
- Pagpalapad sa menu nga "file" ug i-save ang mga pagbag-o nga gihimo.
- Pagdagan pag-usab sa console sa usa ka angay nga paagi.
- Pagsulud sa node index.js nga magsugo sa pagsugod sa Script sa Bot.
- Kung ang mga file niini wala nahimutang sa direktoryo sa balay sa tiggamit, pagkahuman kinahanglan ipiho ni Node ang usa ka hingpit nga tuguti nga tugutan ang usa ka kompleto.
- Ang malampuson nga paglansad sa bot gipakita sa nagpakita nga inskripsyon nga "andam na!".
- Bukas nga panagbingkil ug siguruha nga ang bot miadto sa kahimtang sa "online".
Lakang 5: Pagsulat sa nag-unang coder sa musikal nga bot
Nagpabilin ang labing komplikado nga proseso - pagsulat sa sukaranan nga code alang sa musikal nga bot. Adunay usa ka lista sa mga gimbuhaton nga kinahanglan kini buhaton: pagbasa sa mga mensahe ug pagproseso sa mga mando, kahulugan sa usa ka ngalan sa kanta o pagkonekta sa Voice Channel ug Playback. Ang mga pagtugot sa tanan nga kini nga bot mao, mao nga kinahanglan nimo nga ipiho ang mga aksyon gamit ang mga gimbuhaton sa Javascript, nga gihimo sa parehas nga file nga "Index.js".
Pagdugang usa ka yano nga bahin aron mabasa ang mga mensahe:
Kliyente.on ('mensahe', async Message => {
}
Naglangkob kini sa duha nga mga linya lamang, apan tugutan ang bot sa pagkuha usa ka naandan nga pangutana ug iproseso nga husto. Mahimo nga giingon nga kini usa sa labing hinungdanon nga mga koponan alang sa mga bot sa bisan unsang mga lahi. Siguruha nga madugangan ang mga mensahe gikan sa ubang mga bot sa pagsulod
Kung (Message.auyab.bot) Pagbalik;
Naglikay kini sa mga panagbangi samtang gigamit ang daghang mga bot sa server nga dungan. Sunod, kinahanglan nga susihon ang prefix aron gidawat sa bot ang team o gibalik kini.
Kung (! Message.Content.startsWith (Prefix)) Pagbalik;
Ang pagsusi sa gilansad nga mga mando gihimo gamit ang yano kung ang mga operator, ug ang laraw sa among kaso sama niini:
Cons Serverqueue = Punoan.Get (Message.UND.ID);
Kung (Message.Content.startswith (`$ {Prefix} Play` {
Ipahamtang (mensahe, serverqueue);
Bumalik;
} LIBRE kung (Message.Content.StartsWith (`$ {Prefix} Skip`))
Laktawan (mensahe, serverqueue);
Bumalik;
} Lain kung (Message.Content.startsWith (`$ {Prefix} Stop`)))))))))))))))))))))))))
Hunong (mensahe, serverqueue);
Bumalik;
} Ang uban
MENSAHE.Channel.Siend ('kinahanglan nimo gamiton ang naglungtad nga sugo!')
}
Palihug hinumdumi nga ang pagpadala ('') function nagpadala sa mensahe sa tiggamit kung kini kalit nga nakasulod sa dili pagtrabaho nga mando. Kini nga mensahe mahimo nimong i-edit, pagbag-o ang inskripsyon sa mga kinutlo.
Karon ang bot nakakat-on sa pagkuha mga mando, apan hangtod nga mahimo kini nga makig-uban sa kanila, tungod kay ang mga aksyon wala gitino. Una idugang ang Play Command, nga responsable sa pagdula. Alang niini, usa ka laray ang gikinahanglan sa mga musunud nga porma:
Cons pila ka = Bag-ong mapa ();
Gipadala niya ang tanan nga mga sugo sa pila ug gipadula lamang ang mga kanta kung matapos ang nauna. Sunod, kinahanglan nga maghimo usa ka function nga susihon kung ang tiggamit nga konektado sa Voice Channel ug kung ang bot ang katugbang nga pagtugot.
Ang ASYNC Function nagpatuman (mensahe, serverqueue) {
Const args = Message.Content.Split ('');
Permit sa Viochannel = Message.Member.VoiceChannel;
Kung (! VOYCCASNELE) Message Message.Channel.Send ('aron mamati sa musika, kinahanglan nimo nga naa sa Voice Channel!');
Permissionss Permimsions = Veatchannel.Permissionsfor (Message.client.user);
Kung (! Permissions.Has ('Ikonektar') ||!! Mga Permissions.Has ('Pagsulti')) {
Ibalik ang mensahe.channel.Send ('Kinahanglan nako ang mga permiso nga moapil ug isulti ang imong Voice Channel!');
}
}
Sunod nga aksyon - pagkonektar sa YTDL Library, tungod kay mabasa sa kini nga bot ang ngalan sa kanta sa link gikan sa YouTube, pagkahuman kini gipatugtog sa server. Kuhaon ang usa ka gamay nga piraso sa Code Insert.
Consinefo = naghulat ytdl.getinfo (arg [1]);
Awit sa Cons = {
Pamagat: Songinfo.title,
URL: Songinfo.video_url,
};
Ang sunod nga bloke sa code magtugot kanimo nga masabtan kung adunay mga kanta sa pila o mahimo ka dayon makonektar sa Voice Channel ug magsugod sa pag-playback.
Kung (! Serverqueue) {
} Ang uban
Serverqueue.ss.push (song);
Console.log (serverqueue.sss);
Ibalik ang mensahe.channel.Send (`$ {song.title} gidugang sa pila!`);
}
Sunod moabut ang usa ka gamay nga komplikado alang sa Novice Programmers Usa ka laraw sa kontrata nga nagdugang usa ka kanta nga usa ka laray ug naghimo sa parehas nga pagsulod sa pila ka oras. Pagdula, pagsusi sa tuo nga aksyon. Tagda ang mga komento nga gipresentar, nga nagtugot kanimo sa pag-atubang sa tanan nga mga subtleties.
// paghimo usa ka kontrata alang sa pila
Cons Queectructard = {
Texchannel: Message.channel,
VOYCOMPEL: VOOTCOMNELDE,
Koneksyon: Null,
Mga Kanta: [],
Tomo: 5,
Pagdula: Tinuod,
};
// set ang pila sa among kontrata
Queue.set (Message.UND.ID, QueueCompard);
// Isulud ang komposisyon sa among mga kanta
QueineContraging.ss.push (kanta);
pagsulay {
// Dinhi naningkamot kami nga moapil sa Voice Chat ug i-save ang koneksyon sa butang
var connection = naghulat sa bdongchannel.join ();
QueineContraging.Connection = Koneksyon;
// pagtawag sa function sa playback aron masugdan ang kanta
Pagdula (Message.UGILS, SOVINECOPTRATCH.SONG [0]);
} Dakpon (err) {
// Ipakita ang usa ka mensahe sa sayup kung ang bot dili makaapil sa Voice Chat
Console.log (err);
QUEINE.DELEEDE (MENSAHE.GUND.ID);
Ibalik ang mensahe.channel.Send (err);
}
Uban sa pila, ang tanan klaro, apan dili gihapon magdula mga kanta, tungod kay wala'y buluhaton alang sa function sa pagdula. Aron mahimo kini sa code gikinahanglan aron makadugang istruktura
Pag-function sa Play (Guild, Awit) {
Cons Serverqueue = pila.Get (Guild.id);
Kung (! Awit) {
Serverqueue.voicecomnel.leave ();
QUEINE.DELEDE (Guild.ID);
Bumalik;
}
}
Nagsugod ang pagdula gamit ang PlayStream () function ug ang piho nga link sa track.
Const Idsatcher = Serverqueue.Connection.Playstream (YTDL (Awit.Uml))
.on ('Katapusan', () => {
Console.log ('ang musika nahuman na!');
// tangtangon ang nahuman nga kanta gikan sa pila
serverqueue.sss.shift ();
// gipahinabo pag-usab hinungdan sa function sa playback sa mosunod nga kanta
Pagdula (Guild, Serverqueue.ss [0]);
})
.on ('sayup', sayup => {
Console.Error (sayup);
});
Dispatcher.setvolumowokolithmic (serverqueue.volume / 5);
Kung gusto nimo idugang ang usa ka kanta nga pag-ayo sa skip, pananglitan, kung nakadesisyon ka nga magdula usa ka playlist, una nga mag-amping sa angay nga mando, ug dayon dugangi ang ingon nga usa ka bahin:
Function Skip (Mensahe, Serverquue) {
Kung (! Message.Member.vago.VoiceChannel) Balita nga Message.channel.Send ('Kinahanglan nga naa ka sa usa ka Voice Channel aron mapahunong ang musika!');
Kung (! Serverqueue) Message Message.Channel.Send ('Wala'y kanta nga mahimo nako laktawan!');
Serverqueue.connection.dispatcher.end ();
}
Gibana-bana nga parehas nga pamaagi ang nagtrabaho usab sa paghunong sa paghunong, apan ang bloke nga adunay code makakuha usa ka gamay nga lahi:
Function Stop (Mensahe, Serverqueue) {
Kung (! Message.Member.VoiceChannel) Balita nga Mensahe.channel.Send ('
Kinahanglan nga naa ka sa Voice Channel aron mapahunong ang musika! ');
Mga serverqueue.son = [];
Serverqueue.connection.dispatcher.end ();
}
Hunahunaa nga ang kasayuran nga gipresentar sa itaas angay nga eksklusibo alang sa mga tiggamit nga pamilyar na sa sinultian nga javascript o nakadesisyon nga magtuon sa usa ka musikal nga bot. Kung wala ka tag-iya sa mga kahanas sa kinatibuk-an ug ang gipiho nga mga bloke nga adunay code nga wala nimo isulti bisan unsa, isulat lamang ang tibuuk nga code sa gigikanan sa file, ibalik ang mga mensahe sa Russian) ug i-save ang mga pagbag-o. Ang tanan nga gigikanan nga code adunay kini nga matang:
Konskripsyon sa Konskot = nanginahanglan ('panagbingkil.js');
tigpanot nga {
Prefix,
ngete
} = Nanginahanglan ('./ config.json');
Const ytdl = nanginahanglan ('ytdl-core');
CLICEN CLICENT = New Discord.client ();
Cons pila ka = Bag-ong mapa ();
Kliyente.once ('Andam', () => {
Console.log ('andam na!');
});
Kliyente.once ('pag-uli sa' () => {
Console.log ('pag-uli sa pagkonektar!');
});
Kliyente.once ('Disconnect', () => {
Console.log ('pagdiskonekta!');
});
Kliyente.on ('mensahe', async Message => {
Kung (Message.auyab.bot) Pagbalik;
Kung (! Message.Content.startsWith (Prefix)) Pagbalik;
Cons Serverqueue = Punoan.Get (Message.UND.ID);
Kung (Message.Content.startswith (`$ {Prefix} Play` {
Ipahamtang (mensahe, serverqueue);
Bumalik;
} LIBRE kung (Message.Content.StartsWith (`$ {Prefix} Skip`))
Laktawan (mensahe, serverqueue);
Bumalik;
} Lain kung (Message.Content.startsWith (`$ {Prefix} Stop`)))))))))))))))))))))))))
Hunong (mensahe, serverqueue);
Bumalik;
} Ang uban
MENSAHE.Channel.Send ('Kinahanglan nimo nga mosulod sa usa ka balido nga mando!')
}
});
Ang ASYNC Function nagpatuman (mensahe, serverqueue) {
Const args = Message.Content.Split ('');
Permit sa Viochannel = Message.Member.VoiceChannel;
Kung (! Boatonchannel) Message Message.Channel.Send ('Kinahanglan nimo nga naa sa usa ka foot channel aron magdula sa musika!');
Permissionss Permimsions = Veatchannel.Permissionsfor (Message.client.user);
Kung (! Permissions.Has ('Ikonektar') ||!! Mga Permissions.Has ('Pagsulti')) {
Ibalik ang mensahe.channel.Send ('Kinahanglan nako ang mga Permissions nga Mag-uban ug Magsulti sa Imong Voice Channel!');
}
Consinefo = naghulat ytdl.getinfo (arg [1]);
Awit sa Cons = {
Pamagat: Songinfo.title,
URL: Songinfo.video_url,
};
Kung (! Serverqueue) {
Cons Queectructard = {
Texchannel: Message.channel,
VOYCOMPEL: VOOTCOMNELDE,
Koneksyon: Null,
Mga Kanta: [],
Tomo: 5,
Pagdula: Tinuod,
};
Queue.set (Message.UND.ID, QueueCompard);
QueineContraging.ss.push (kanta);
pagsulay {
var connection = naghulat sa bdongchannel.join ();
QueineContraging.Connection = Koneksyon;
Pagdula (Message.UGILS, SOVINECOPTRATCH.SONG [0]);
} Dakpon (err) {
Console.log (err);
QUEINE.DELEEDE (MENSAHE.GUND.ID);
Ibalik ang mensahe.channel.Send (err);
}
} Ang uban
Serverqueue.ss.push (song);
Console.log (serverqueue.sss);
Ibalik ang mensahe.channel.Send (`$ {song.title} gidugang sa pila!`);
}
}
Function Skip (Mensahe, Serverquue) {
Kung (! Message.Member.vago.VoiceChannel) Message Message.Channel.Send (kinahanglan nga naa ka sa usa ka channel sa tingog aron mapahunong ang musika! ');
Kung (! Serverqueue) Message Message.Channel.Send ('Wala'y kanta nga mahimo nako laktawan!');
Serverqueue.connection.dispatcher.end ();
}
Function Stop (Mensahe, Serverqueue) {
Kung (! Message.Member.vago.VoiceChannel) Message Message.Channel.Send (kinahanglan nga naa ka sa usa ka channel sa tingog aron mapahunong ang musika! ');
Mga serverqueue.son = [];
Serverqueue.connection.dispatcher.end ();
}
Pag-function sa Play (Guild, Awit) {
Cons Serverqueue = pila.Get (Guild.id);
Kung (! Awit) {
Serverqueue.voicecomnel.leave ();
QUEINE.DELEDE (Guild.ID);
Bumalik;
}
Const Idsatcher = Serverqueue.Connection.Playstream (YTDL (Awit.Uml))
.on ('Katapusan', () => {
Console.log ('natapos ang musika!');
serverqueue.sss.shift ();
Pagdula (Guild, Serverqueue.ss [0]);
})
.on ('sayup', sayup => {
Console.Error (sayup);
});
Dispatcher.setvolumowokolithmic (serverqueue.volume / 5);
}
Kliyente.login (token);
Pagkahuman, mas maayo nga i-restart ang bot, pagkahuman mahimo ka moadto sa imong server, magkonektar sa Voice Channel ug mosulod sa bisan unsang sugo sa interaksyon, pagsusi kung unsa ang reaksyon sa bot.
Kung ang labaw sa variant sa bot dili angay alang kanimo, makit-an nimo ang gigikanan nga mga code sa parehas nga gittub ug kopyahon kini sa imong computer. Ang prinsipyo sa pagrehistro ug paglansad nagpabilin nga parehas, busa kung kinahanglan, yano nga pag-edit ang nahuman nga code, ug dayon magpadayon sa pagsulay sa bot.
Sa kini nga artikulo, wala naton maapektuhan ang pag-undang sa usa ka bot sa pag-host, ipanghatag kini taliwala sa uban pang mga tiggamit, nga naghimo sa usa ka Avatar ug ang paggamit sa mga bukas nga lugar, gikan sa diin kini mahimong awtorisado. Tanan kini lahi nga mga proseso nga kinahanglan nga moapil lamang kung imong gipasidungog ang imong kahanas sa paghimo og mga bot ug andam nga ipang-apod-apod ang mga proyekto sa network.