بۇ ماقالىدە, بىز قولدا مۇزىكا قويۇشتا مۇزىكا چېلىش ئۈچۈن بىر بوت بار, قولدا بىر بوت تەسىس قىلىمىز. سىز پۈتكۈل تاپشۇرغان كودنى كۆچۈرەلەيسىز, ئەگەر سىز Javascript ئىقتىدارىڭىز بولسا ئۆزىڭىزگە تەھرىرلىيەلەيسىز. بۇ دو سىز بىز تەرىپىدىن ئىجاد قىلىنغان, ئەمما بەزى باسقۇچلاردا ئابونتلارنىڭ ئوخشىمىغان مەسىلىلەرگە دۇچ كەلگەنلىكىدىن باشقا, بىز سىزگە يوليايىمىزنىلا ئەمەسلىكىنى ئەستايىدىللىق بىلەن ئوقۇش تەۋسىيە قىلدۇق, ئەمما ئۇمۇ ئېكراندا ئېنىقلىما خاتالىق كودىدا كۆرۈنىدۇ.
ئەگەر بۇ ماتېرىيالنىڭ سىز ئۈچۈن بەك مۇرەككەپ ياكى باشقا سەۋەبلەر تۈپەيلىدىن بەكرەك ماس كەلمىسە ياكى باشقا سەۋەبلەر بىلەن ماس كەلمەيدۇ. تۆۋەندىكى تەرجىمە توغرىسىدىكى ماقالىدە بۇ مەزمۇن سىزگە مۇناسىۋەتلىك ئۇچۇرلارنى تاپالايسىز, ۋەزىپىنى ئىجرا قىلالايسىز.
تېخىمۇ كۆپ ئوقۇڭ:
خورازدا MESTIC BOL غا قوشۇش
بىت تەڭگىدە بوت بىلەن مۇزىكا ئويناڭ
1-قەدەم: يېڭى ئىلتىماس قۇرۇش
ھەر بىر بوستېر ئاچقۇچىلارنىڭ رەسمىي نەشر قىلغۇچىغا تىزىملىتىشى كېرەك. بولغاچقا, ئىجازەتنىڭ ئومۇمىي ھەرىكىتىگە مۇناسىۋەتلىك زۆرۈر بولغان بارلىق تەڭشەكلەردىن ئېرىشىپ, ئۇلىنىشنى شەخسىي مۇلازىملىك-مىشېنتى بىلەن ئورتاقلىشىپ, بۇ بۇيرۇقنى تېخىمۇ تەرەققىي قىلدۇرۇش ئۈچۈن كېرەكلىك ئىشلىتىپ, ئۆز-ئارا بەلگىنى ئىشلىتىڭ.
Videerd Script تور بېتىنىڭ رەسمىي تور بېتىگە بېرىڭ
- يۇقىرىدىكى ئۇلىنىشنى پروگراممېرلارنىڭ پروگراممېرلار ئۈچۈن نەشر قىلغۇچىنىڭ باش بېتىنى ئېچىڭ, Disceder شەخسىي ھېساباتىغا كىرىپ, يېڭى قوللىنىشچان پروگرامما تۈزۈپ, يېڭى قوللىنىشچان پروگرامما تۈزۈشنى چېكىڭ.
- ئۇنىڭ ئىسمىنى, چۈنكى ئۆزگىمۇ بولغانلىقىنى جەزملەشتۈرۈڭ, چۈنكى ئوخشاش ئىسىم بىلەن نۇرغۇن بولار, ئۇنى يارالماسلىق مۇمكىن ئەمەس - ئەگەر ناتونۇش ئۇقتۇرۇشى ئۇقتۇرۇلىدۇ.
- تاماملانغاندىن كېيىن, تور بېكەتتىكى تىزىملىكنى ئېچىپ «Bot» تۈرىنى تاللاڭ.
- «قۇرۇش-قۇتى» تىكىش «بوت قوش» تىزمىسى.
- تاللانغان پروگراممىنىڭ قوشۇمچە ماتېرىيالىنى جەزملەشتۈرۈڭ.
- تونۇش تىزىملىك ئارقىلىق, كىرىڭ «OAuth2».
- بۇ بۆلەك بوت ۋە ھوقۇقنىڭ ئومۇمىي پارامېتىرلىرىغا مەسئۇل. «كوپوس» توسۇلۇپ, «بوت» ئابزاسنى بەلگە قىلىڭ.
- رۇخسەت تىزىملىكىگە ئاۋاز بېرىش ئارقىلىق ئاۋاز قان قانلىرى ۋە سۆزلەش ئىقتىدارىغا مۇناسىۋەتلىكلىقىنى ساقلاش ئۈچۈن چوقۇم ئاۋازلىق يوللار ۋە سۆزلەش كېرەك.
- Bot ئوقۇش ۋە ئۇچۇر ئەۋەتىش بولۇشى كېرەك, شۇڭا بۇ تاللاشلارنى تېكىست پاراڭلىشىش ئىجازەتنامىسى بىلەن قوزغىتىشنى ئۇنتۇپ قالماڭ. ئەلۋەتتە, سىز بىراقلا بارلىق ئىجازەت بىلەن تەمىنلىيەلەيسىز, ئەمما بۇ ئۇسۇل كىشىنى ھەيران قالدۇرىدىغىنى, بولۇپمۇ سىز ئاممىۋى ئىشلەتكۈچى ئۈچۈن بىر بوتۇلالايسىز.
- ئىجازەت تەڭشىكى تاماملانغاندىن كېيىن, مۇلازىمېتىردىكى بوتتىكى تۇنجى ئىجازەتنامىسىنى كۆچۈرۈپ كۆچۈرۈپ كەلگەندە, باشقىچە قىلىپ بېكىتىڭ بويىچە ئىجرا قىلىڭ.
- بۇ ئۇلانمىغا ئەگىشىڭ ۋە بوتكىنى تەكشۈرمەكچى بولغان سىناق مۇلازىمېتىرنى تاللاڭ.
- تۇتۇشنى جەزملەشتۈرۈڭ ۋە مۇۋەپپەقىيەتلىك ئىجازەتنامىگە مۇناسىۋەتلىك ئۇچۇرلارنى ساقلاڭ.
ھازىر سىزدە ئۆزگىچە بەلگە بار بوت بار, بوت مۇلازىمېتىرغا قوشۇلدى, ئەمما تورسىز ھالەت. ئۇنى باشلاش ئۈچۈن, ئۇ يەرلىك كومپيۇتېردا بىر قانچە ھەرىكەتنى كۆرۈشىمىز, چۈنكى بىز تورسىز ھالەتتە ئوقۇشنى ئويلىيالايسىز.
2-قەدەم: تەييارلىق قىلمىشلىرى
تەييارلىقچىلەر ھەرىكەتلىرى تەلەپ قىلىنغان گۇۋاھچىلار ۋە ھۆججەتلەرنىڭ يارىتىلىشى, ئۇلارنىڭ ئۈچۈن ئورنىتىش ۋە ئۇلارنىڭ ئۈچۈن بېقىش ۋە تايىنىشچانلىقىنى ئۆز ئىچىگە ئالىدۇ. بۇنداق مەسىلە يوق, سىز چوقۇم ئۆز نۆۋىتىدە بۇرۇلۇپ, ھەر ئىلگىرى خاتالىقتا ئەستايىدىللىق بىلەن ئەگىشىشىڭىز كېرەك.
- بوتنىڭ ئىسمى بىلەن ھۆججەت قىسقۇچ قۇرۇڭ. سىز ھەر قانداق جاينى تاللىيالايسىز, ئەمما ئىشلەتكۈچىنىڭ ئۆي ھۆججەت قىسقۇچى بۇنىڭغا ئەڭ ماس كېلىدۇ.
- ئۇنىڭغا ئىككى ھۆججەت قۇرۇڭ: «سەپلەڭ .jSon» ۋە «كۆرسەتكۈچ». دەسلەپتە سائەت ئىچىدە - ئۇنىڭ ئالدى ئالدى بىلەن ۋە ئۆزئار جىس, ئىككىنچىسى - بۇ قورالنىڭ بۇيرۇقلىرى ۋە ئورتاق ۋەزىپىسىتى.
- بوتنىڭ خىزمىتى ئۈچۈن نوتاغا موھتاج. بۇ قورال يەرلىك كومپيۇتېردىكى ئورگىنالنى باشلاش ئۈچۈن لايىھەلەنگەن. تۆۋەندىكى ئۇلىنىشنى ئەمەلدىن قالدۇرۇپ Windows ئۈچۈن قاچىلاش پروگراممىسىنى چۈشۈرۈڭ.
رەسمىي تور بېكەتتىن node نى چۈشۈرۈڭ
- ئېكراننى ئىجرا قىلغىلىۋېتىشنى ئۈمىد قىلىڭ, ئۇنى ئېكرانغا ئۆزگەرتىلگەندىن كېيىن, ئاددىي قاچىلاش تەرتىپىگە پاسسىپ ئېلىڭ.
- ئۇنىڭدىن كېيىن, «بۇيرۇق قالاشتۇرۇش» »نى سىزگە« ئىجرا قىلىڭ »« پايدىلىنىش »نى كىرگۈزۈش (TU ئىجرا قىلىڭ) بۇ غەلىبە + R ئاچقۇچ بىرىكمىسىنى باشلايدۇ.
- مودۇلنى قاچىلاش ئۈچۈن مودۇلنى قاچىلاش ئۈچۈن مودۇلى ئورنىتىپ «سۆيۈملىك» دەپ ئاتىلىدۇ. بۇنى قىلىش ئۈچۈن كونترول سۇپىسى ئاستىدا, NPM لىڭ, npm نى كىرگۈزۋ, NPM لىڭ تەڭشەك خمەڭ .js FFMPEG -sa ۋە Enter نى بېسىڭ - شۇڭا سىز دەرھال بارلىق زۆرۈر تايىنىشنى بېسىڭ.
- نۆۋەتتىكى كونترول سۇپىسىنى تاقاپ, نۆۋەتتىكى كونترول سۇپىسىنى تاقاپ بولغان ئۇقتۇرۇشنى ساقلاش. ئەگەر خاتالىق پەيدا بولسا, ئۇلارنىڭ كودىنى ئۆگىنىپ, ئىزدەش ماتورىنى ئىشلىتىپ مۇنبەردىكى خىزمەت دوكلاتىنى تېپىڭ ياكى رەسمىي تور بېتىدە خىزمەت قارارىنى تېپىڭ.
نەتىجىدە, ئىشلەتكۈچىنىڭ ئۆي ھۆججەت قىسقۇچلىرى تۈگۈنچە) مۇناسىۋەتلىك ھۆججەتلەرنى پەيدا قىلىشى كېرەك .js زاپچاسلىرى بىلەن مۇناسىۋەتلىك ھۆججەتلەرنى پەيدا قىلىشى كېرەك. كومپيۇتېرنى قايتا قوزغىتىڭ, شۇنداق بولغاندا بوت ئاپتوماتىك ھالدا ئىگىلىك تىكلەشتە قىيىنچىلىق يوق, ئاندىن كېيىنكى باسقۇچقا بېرىڭ.
3-قەدەم: Bot سەپلىمىسى ھۆججىتىنى تەھرىرلەش
سىز ئاللىبۇرۇن بارلىققا كىرگۈزۈلگەن Bot سەپلىمىسى ھۆججىتىنىڭ ئورنىغا ئىشلىتىلىدىغان بارلىق كودلار (مۇلازىمېتىرغا بۇيرۇق ئەۋەتىشتىن بۇرۇن ئىشلىتىلگەن قوشۇمچىلار (بەلگە) ۋە API دىكى پروگراممىنى بەلگىلەيدىغان ئۆزگىچە بەلگە بولىدۇ. ئەگەر بارلىق ھەرىكەتلەرنى ئورۇنلاشتۇرۇش ئۈچۈن, ئىلگىرى JS گرامماما قوللاش ياكى ھەر قانداق ئىلغار تېكىست تەھرىرلىگۈچ بىلەن پروگرامما كۆرۈش تەۋسىيە قىلىمىز. تۆۋەندىكى ئۇلىنىشتىكى بۇ ئۇلىنىشتىكى ماقالە بار-يوقلۇقىنى ئۆزىڭىز مۇراجىئەت قىلالايسىز.
تېخىمۇ كۆپ ئوقۇڭ: پروگرامما تۈزۈشنىڭ تەرەققىيات مۇھىتىنى تاللاش
كومپيۇتېرغا قاچىلاپ, ئىشلەشكە تەييارلانغاندىن كېيىن, ئۇ يەردىكى ئىشلەتكۈچى سانلىق مەلۇماتلىرىنى كىرگۈزۈپ سەپلەش ھۆججىتىنى تەھرىرلەشكە ئامراق بولىدۇ.
- تېكىست تەھرىرلىگۈچ ياكى تەرەققىيات مۇھىتى ئارقىلىق كود ھۆججىتىنى ئىجرا قىلىڭ, تۆۋەندىكى كود قىستۇرۇڭ.
{
"ئالدىدىكى": "!",
«بەلگە»: «سىزنىڭ toke»
}
كۆزنىكىگە قوش تىكىش ياكى خىتابنامىدىن باشقا. بۇ بەلگىنى ئىشلىتىپ بۇيرۇقنىڭ مىسالى مۇنداق
- تەرەققىيات ئېغىزىغا Bot غا بېرىڭ, ئۇنى ئۇ يەرگە ئۆزگىچە بەلگە تېپىش ۋە كۆچۈرۈڭ.
- قوش تىرناقنى ئۆچۈرمەي تۇرۇپ تەكشۈرۈشنى تەكشۈرۈڭ.
- ئۆزگەرتىشلەرنى ساقلاڭ ۋە بۇ ھۆججەتنى تاقاڭ. يول بىلەن, ئۆلچەملىك «خاتىرە دەپتەر» ئارقىلىق ئوخشاش ھەرىكەتنى قولدىن بېرىپ قىلالايسىز.
سەپلىمە ھۆججىتى بىلەن بۇ ھەرىكەتلەر تاماملانغاندىن كېيىن, ئەمدى بىر قۇر كود بەلگىلىشىڭىز كېرەك. بۇلانغان تەھرىرلەشنى ئۇنتۇپ قالماڭ, تەھرىرلەشنى ئۇنتۇپ قالماڭ ۋە مۇزىكا چېلىشنىڭ تېخىمۇ كۆپ يېزىڭ.
4-قەدەم: سىناق باشلىنىش بوتكىسى
بىرىنچى, بىز ئادەتتە مۇلازىمېتىردا ئىجرا بولىدىغانلارنىڭ ئىچىگە كىرىپ, كودنىڭ ئاساسلىق ئۇسۇلىنى emo.js.j نى كۆرگەزمە قىلىش كېرەك. Ibee.js نى باشلاش ئۈچۈن كېرەك.
- تەرەققىيات مۇھىتىنى ياكى تاللانغان تېكىست تەھرىرى ئارقىلىق تىلغا ئېلىنغان ھۆججەتنى ئېچىڭ.
- تايىنىش ئورنىتىشقا مەسئۇل بولغان كودىنى قىستۇرۇڭ ھەمدە ئىشلىتىلىدىغان مودۇللارنى كۆرسىتىدۇ:
Script Mingerd = تەلەپ قىلىش ('assard.js');
stich {
Prefix,
tomen
} = تەلەپ قىلىڭ (';/ CIMB.JSON')
smor ytdl = تەلەپ قىلىڭ ('ytdl-core';);
- ئىلگىرى كۆرسىتىلگەن بەلگەنىڭ ياردىمىدە, بۇ ئىككى ئاددىي سىزىق كىرگۈزۈش ئارقىلىقلا ئېلىپ بېرىلىۋاتىدۇ,
Cimp cin = new deadd.clynt ()
خېرىدار.
- بۇ پەقەت بوتكىنى ئاڭلاشنىڭ ئاخىرقى ئاساسىي لىنىيىسىنى بەلگىلەش.
CRICE.ONCE ('تەييار », () => {> {
كونترول سۇپىسى («تەييار!»);
});
CRICE.ONCE ('REENTING'E () => {{
Console.log ('قايتا قۇرۇش!');
});
CRITE.ONCE («ئۈزۈش», () =>> {
كونترول سۇپىسى. («ئۈزۈشنى ئۈزۈۋېتىڭ!»);
});
- «ھۆججەت» تىزىملىكىنى كېڭەيتىپ, ئۆزگەرتىشلەرنى ساقلاڭ.
- كونترول سۇپىسىنى قۇلايلىق شەكىلدە ئىجرا قىلىڭ.
- بېلەتنى قوزغىتىش ئۈچۈن بۇرنى كۆرگەزمە قىلىڭ.
- ئەگەر ئۇنىڭ ھۆججەتلىرى ئىشلەتكۈچىنىڭ ئائىلە مۇندەرىجىسىگە جايلاشقان بولسا, تۈگۈننىڭ ئائىلە مۇندەرىجىسىگە قۇرالىمىغان بولسا, تۈگۈندىن كېيىن ئۇلارنى تاماملاڭ.
- بوتكىنىڭ مۇۋەپپەقىيەتلىك بازارغا سېلىنىشى كۆرۈنۈشى ئاشكارىلاندى: «تەييار!».
- ئوچۇق قالايمىقانچىلىق ۋە بوتنىڭ «توردا« تور »ئورنىنىڭ ھالىتىگە كەتكەنلىكىگە كاپالەتلىك قىلىڭ.
5-قەدەم: مۇزىكا بوۋىسىنىڭ ئاساسلىق مەركىزى يېزىش
ئەڭ مۇرەككەپ جەريانلار يەنىلا مۇزىكا بوتنىڭ ئاساسىي كودىنى يېزىڭ. ئۇ چوقۇم ئىجرا قىلىدىغان ۋەزىپىلەر بار: ئوقۇش ۋە بىر تەرەپ قىلىش بۇيرۇقلىرى, ئاۋاز چىقىرىشقا يوشۇرۇش, ئاۋاز چىقىرىشقا باغلاش ۋە قويۇش ۋە ئۇنىڭ ئادرېسى ياكى ئادرېسى. بۇ Bot دىكى ئىجازەتلەرنىڭ ئىجازەتنامىسى, شۇڭا سىز JavaCript فۇنكسىيەسىنى ئىشلىتىپ ھەرىكەتلەرنى بەلگىلەش كېرەك, ئوخشاش «كۆرسەتكۈچ.js» ھۆججىتىدە ھەرىكەت تۈزەلەيسىز.
ئۇچۇرلارنى ئوقۇش ئۈچۈن ئاددىي ئىقتىدار قوشۇڭ:
Cirm.on ('ئۇچۇر', async ئۇچۇرى => {
}
ئۇ پەقەت ئىككى قۇرلا, ئەمما Bot نىڭ ئىختىيارى سوئالغا ۋە بىر تەرەپ قىلىنىشىغا يول قويىدۇ. بۇ شۇنى دېيىشكە بولىدۇكى, بۇ ھەر خىل ئويۇنلارنىڭ ئەڭ مۇھىم كوماندىلىرىنىڭ بىرى. كىرىش ئارقىلىق باشقا بوتۇلكىدىن ئۇچۇرغا سەل قاراشنى جەزملەشتۈرۈڭ
if (text.author.bot) قايتۇرۇش
بۇ مۇلازىمېتىردا بىرلا ۋاقىتتا كۆپ بولاق ئىشلەتكەندە توقۇنۇشۇپ قالىدۇ. ئۇنىڭدىن كېيىن, PREFIX نى تەكشۈرۈش ئۈچۈن زۆرۈر بولىدۇ, شۇڭا بوت كوماندىنى قوبۇل قىلىش ياكى ئۇنى قايتۇرۇپ كېلىشكە توغرا كېلىدۇ.
if (! Message.Contentawher (ئالدى قوشۇلغۇچى)
تەكشۈرۈش بۇيرۇقلىرىنى تەكشۈرۈش مەشغۇلاتچىسى بولسا, سىزنىڭ ئەھۋالىمىزدە لايىھە مۇشۇنداق كۆرۈنگەندەك قىلىدۇ:
Service serverue = Diece.Get.get.Guild.id.d;
if (trade.content.Contswith (`$ {Prefix} Play`))
ئىجرا قىلىڭ (ئۇچۇر, مۇلازىمېتىرنى)
قايتىش
} ئەگەر (if (trade.Content.Contswith (ot $ {freefix} Skip`))
ئاتلاش (ئۇچۇر, ServerQue);
قايتىش
} ئەگەر (if (trade.content.contswith (ot $ {forefix})} STOPINGTINGENT »)
توختاڭ (ئۇچۇر, مۇلازىمېتىرنى)
قايتىش
} Old {
ئۇچۇر. KantNell.Send ('سىز ھازىر بار بولغان بۇيرۇقنى ئىشلىتىشىڭىز كېرەك!')
}
شۇنىڭغا دىققەت قىلىڭكى, ئەۋەتىلگەن نەرسىگە ('') ئەسسۇت ئۇ تۇيۇقسىز ئىشسىز بۇيرۇققا كىرسە ئۇچۇرنى ئىشلەتكۈچىگە ئەۋەتىدۇ. بۇ ئۇچۇرنى تەھرىرلىيەلەيسىز, ئاددىي ئۇچۇرلارنى ئۆزگەرتىش.
ھازىر بۇيرۇقلارنى ئېتىشنى ئۆگەندى, ئەمما ئۇ ئۇلار بىلەن بىللە ئۆزلۈكىدىن ئالاقىلاشمىغۇچە, ھەرىكەتلەر ئېنىق بولمىغان بولغاچقا, ھەرىكەتلەر ئېنىق ئەمەس. ئالدى بىلەن قويۇش بۇيرۇقىنى قوشۇڭ, بۇ ئويناش ھوقۇقىغا ئىگە. چۈنكى, تۆۋەندىكى جەدۋەلدە سانلار تەييارلىنىشقا توغرا كېلىدۇ:
Smile ئۆچرەت = يېڭى خەرىتە ()
ئۇ ئۆچىرەتتە بارلىق بۇيرۇقلارنى ئەۋەتىپ, ناخشىلارنى ئالدىنقى قېتىملا ئوينايدۇ. ئۇنىڭدىن كېيىن, ئىشلەتكۈچى ئاۋازلىق قانىلىغا ئۇلانغان ئىشلەتكۈچى ۋە Bot نىڭ مۇناسىپ تەۋەلىكى ياكى ئەمەسلىكىنى تەكشۈرىدىغان فۇنكسىيەنى قۇرۇشقا توقلاش كېرەك.
Async ئىقتىدار ئىجرا قىلىش (ئۇچۇر, مۇلازىمېتىرنى) {
limit ergs = text.content.split ('');
Simo sixanell = trade.merber.voichanchel;
if (! Voicanella.Stannel.Send ('مۇزىكىنى ئاڭلاش ئۈچۈن, ئاۋازلىق قانىلىدا بولۇشىڭىز كېرەك!)
ScoM ئىجازەتنامىسى = Voickance.pancessformationsformaformaformaformaformaformaformaformaformaformaformaformain (Message.client.suser)
If (! رۇخسەت ('ئۇلاش) ||! تەڭشەش! رۇخسەت قىلىڭ!
ئۇچۇر قايتىڭ.channel.Send ('مەن قاتنىشىش ۋە ئاۋازلىق قانىلىڭىزنى سۆزلەشكە موھتاج);');
}
}
كېيىنكى ھەرىكەت - YTDL كۇبكانسىنى ئۇلاشتا YTDL POST نى ئۇلاش YouTube نىڭ ئۇلىنىشىدا YouTube نىڭ ئۇلىنىشىدا YouTube نىڭ ئۇلىنىشىدا ناختانىڭ ئۇلانغانلىقىنى ئوقۇدى, بۇلار ئۇ مۇلازىمېتىردا ئوينىلىدۇ. ئۇ بىر كىچىك كود قىستۇرۇشقا بولىدۇ.
Stree Songinfo = Enddl.getinfo (ègs [1]);
Sco song = {
ئىسمى: Songinfo.title,
URL: Songfo.video_url,
};
كېيىنكى كودنىڭ كېيىنكى توپىدا ئۆچىرەتتە ناخشا ياكى سىز دەرھال ئاۋاز قانىلىغا ئۇلىنىشىڭىز ۋە قويۇشنى باشلاڭ.
If (! Serveriscee) {
} Old {
Serverqueee.SongS.PUSH (NOR)
Postole.log (Serverqueue.Songs);
ئۇچۇر قايتىڭ.channel.Send ("$ {skine.title} ئۆچرەتكە قوشۇلدى! ')
}
Novice پروگراممېمېرلىرى ئۈچۈن سەل مۇرەككەپ بىر ئاز مۇرەككەپ, بىر قېتىم سانلار گۇرپىسىنى قوشقاندا سەل مۇرەككەپ. قويسىڭىز, ئۆچىرەتنى تەكشۈرۈش ۋە توغرا ھەرىكەتنى تاللاش. ئوتتۇرىغا قويۇلغان ئىنكاسلارغا دىققەت قىلىڭ, قايسى ئىنچىكە بىر تەرەپ قىلىشقا چىدايسىز.
// ئۆچىرەتتە توختام تۈزۈش
CREET QUECECONBUBUNTBUNTBUNTBUNDUNDUNDUNDUNTY
TextuHannel: ئۇچۇر.
Voichannel: Wharuchance,
ئۇلىنىش: null,
ناخشىلار: [],
ھەجىمى: 5,
ئويناش: راست,
};
// بىزنىڭ توختامىمىز بىلەن ئۆچرەت قويۇڭ
ئۆگزىسى.set (Message.Guild.d.id.d;)
// بىزنىڭ قۇربان ھېيتلىرىمىزغا تەركىب تاپالايسىز
QueueCanct.Songs.PUSH (NON);
سىناپ بېقىڭ
// بۇ يەردە بىز ئاۋازلىق پاراڭغا قوشۇلماقچى ۋە جىسىمغا ئۇلىنىشنى ساقلاشقا تىرىشىۋاتىمىز
var tork = noychanell.join ()
QueueContble.ConNentlyT = ئۇلىنىش;
// بۇ ناخشىنى باشلاش ئۈچۈن قويۇش ئىقتىدارىنى چاقىرىش
Play (Message.Guild, QueeComanct.songs [0]);
} تۇتۇش (ERR) {
// ئەگەر بوت ئاۋازلىق پاراڭغا قوشۇلسا خاتالىق ئۇچۇرىنى كۆرسىتىڭ
Console.log (خاتالىق);
ئۆپكە.delete (Message.Guild.d.;
ئۇچۇر قايتۇرۇڭ.channel.Send (خاتالىق)
}
ئۆمىكى بىلەن ھەممە نەرسە ئېنىق, ئەمما يەنىلا ناخشا ئوينىمايدۇ, چۈنكى قويۇش ئىقتىدارىغا تاپشۇرۇش يوق. بۇنى كوددا قىلىش ئۈچۈن بۇ قۇرۇلما قوشۇش كېرەك
ئىقتىدار ئويناش (GUND, NOR) {
Service serverue = ئۆچرەت.
If (! Song) {
Serverqueue.VoicHanell.leave ();
ئۆچرەت. (WUWD.ID);
قايتىش
}
}
ئويۇن ئويناش () ئىقتىدارنى () ئىقتىدارى ۋە يولغا كۆرسىتىلگەن ئۇلىنىشتىن باشلىنىدۇ.
Screate seratcher = serverquee.Connection.playstream (ytdl (song.url))
.on ('end', () => {
كونترول سۇپىسى («مۇزىكا ئاخىرلاشتى!)
// تەييار ناخشىنى ئۆچرەتتىن چىقىرىۋېتىدۇ
serverqueue.Songs.phive ();
// تۆۋەندىكى ناخشا بىلەن قويۇق ئىقتىدارنى قايتا پەيدا قىلىدۇ
Play (Guild, Serveriscee.Songs [0]);
})
. ('خاتالىق', خاتالىق => {
Colleole.Error (خاتالىق);
});
arratcher.setvolomelicy (Serverqueue.Volume / 5);
ئەگەر ناخشا ئىقتىدار قوشماقچى بولسىڭىز, مەسىلەن, قويۇش پروگراممىسىنى ئوينىشنى قارار قىلغان بولسىڭىز, ئالدى بىلەن مۇناسىپ سوتنىڭ ھالىدىن خەۋەر ئېلىڭ, ئاندىن بۇنداق بەلگىلەرنى قوشۇڭ, ئاندىن مەسىلەن بىر بۆلەك قوشۇڭ:
ئىقتىدار ئاتلاش (ئۇچۇر, روشەن) {
if (sext.memer.voicancan.vochanel) ئۇچۇر قايتىڭ. Kennely.seend ('سىز مۇزىكا قانالدا بولۇشىڭىز كېرەك!')
If (! Serverqueue) ئۇچۇر قايتىڭ
Serverqueue.Connection.dispatcher.end ()
}
تەخمىنەن ئوخشاش ئۇسۇل توختىتىش ئىقتىدارىنىمۇ ئىشلەيدۇ, ئەمما كودنى ئازراقلا كۆرەلەيدۇ:
ئىقتىدار توختىتىش (ئۇچۇر, روشەن) {
if (! Message.mercemer.voichanel) ئۇچۇر قايتىڭ. KennelNelf.Send ('
مۇزىكا قانىلىدا چوقۇم ئاۋاز يولىدا بولۇشىڭىز كېرەك! »).
Serverqueue.Songs = [];
Serverqueue.Connection.dispatcher.end ()
}
يۇقىرىدا ئوتتۇرىغا قويۇلغان ئۇچۇرلارنىڭ پەقەت JavaScript تىلىنى بىلگەن ئابونتلارغا ئالاھىدە ماس كېلىدىغانلىقىنى ئويلاڭ ياكى پەقەت ئۆگىنىش بىلەن شۇغۇللىنىدۇ ۋە مۇزىكا بوتكىسى ھاسىل قىلىشنى قارار قىلدى. ئەگەر سىز كودقا ماس كەلمەيدىغان بولسىڭىز, پۈتكۈل نەرسىلەرنىڭ ئىشلىتىلمەيدىغان بولسىڭىز, پۈتكۈل مەنبە كودىنى ھۆججەتگە كىرگۈزسىڭىز, تېكىستنىڭ ئۇچۇرلارنى رۇسچە (ئۇلار نەقىل كەلتۈرگەن) ئۆزگەرتىش. بارلىق مەنبە كودىنى بۇ خىل ئەھۋال بار:
Script Mingerd = تەلەپ قىلىش ('assard.js');
stich {
Prefix,
tomen
} = تەلەپ قىلىڭ (';/ CIMB.JSON')
smor ytdl = تەلەپ قىلىڭ ('ytdl-core';);
Cimp cin = new deadd.clynt ()
Smile ئۆچرەت = يېڭى خەرىتە ()
CRICE.ONCE ('تەييار », () => {> {
كونترول سۇپىسى («تەييار!»);
});
CRICE.ONCE ('REENTING'E () => {{
Console.log ('قايتا قۇرۇش!');
});
CRITE.ONCE («ئۈزۈش», () =>> {
كونترول سۇپىسى. («ئۈزۈشنى ئۈزۈۋېتىڭ!»);
});
Cirm.on ('ئۇچۇر', async ئۇچۇرى => {
if (text.author.bot) قايتۇرۇش
if (! Message.Contentawher (ئالدى قوشۇلغۇچى)
Service serverue = Diece.Get.get.Guild.id.d;
if (trade.content.Contswith (`$ {Prefix} Play`))
ئىجرا قىلىڭ (ئۇچۇر, مۇلازىمېتىرنى)
قايتىش
} ئەگەر (if (trade.Content.Contswith (ot $ {freefix} Skip`))
ئاتلاش (ئۇچۇر, ServerQue);
قايتىش
} ئەگەر (if (trade.content.contswith (ot $ {forefix})} STOPINGTINGENT »)
توختاڭ (ئۇچۇر, مۇلازىمېتىرنى)
قايتىش
} Old {
ئۇچۇر. Kancend.Send ('ئۈنۈملۈك بۇيرۇققا كىرىشىڭىز كېرەك!')
}
});
Async ئىقتىدار ئىجرا قىلىش (ئۇچۇر, مۇلازىمېتىرنى) {
limit ergs = text.content.split ('');
Simo sixanell = trade.merber.voichanchel;
if (! Voicanell) ئۇچۇر قايتىڭ. Kervannel.dend ('سىز مۇزىكا ئويناش ئۈچۈن ئاۋازلىق قانالدا بولۇشىڭىز كېرەك!')
ScoM ئىجازەتنامىسى = Voickance.pancessformationsformaformaformaformaformaformaformaformaformaformaformaformain (Message.client.suser)
If (! رۇخسەت ('ئۇلاش) ||! تەڭشەش! رۇخسەت قىلىڭ!
Inteds.sendel.Send ('مەن ئاۋازلىق قانىلىڭىزدا بېرىش ۋە سۆزلەش ئىجازەتنامىسى لازىم! ».
}
Stree Songinfo = Enddl.getinfo (ègs [1]);
Sco song = {
ئىسمى: Songinfo.title,
URL: Songfo.video_url,
};
If (! Serveriscee) {
CREET QUECECONBUBUNTBUNTBUNTBUNDUNDUNDUNDUNTY
TextuHannel: ئۇچۇر.
Voichannel: Wharuchance,
ئۇلىنىش: null,
ناخشىلار: [],
ھەجىمى: 5,
ئويناش: راست,
};
ئۆگزىسى.set (Message.Guild.d.id.d;)
QueueCanct.Songs.PUSH (NON);
سىناپ بېقىڭ
var tork = noychanell.join ()
QueueContble.ConNentlyT = ئۇلىنىش;
Play (Message.Guild, QueeComanct.songs [0]);
} تۇتۇش (ERR) {
Console.log (خاتالىق);
ئۆپكە.delete (Message.Guild.d.;
ئۇچۇر قايتۇرۇڭ.channel.Send (خاتالىق)
}
} Old {
Serverqueee.SongS.PUSH (NOR)
Postole.log (Serverqueue.Songs);
ئۇچۇر قايتىڭ.channel.Send ("$ {skine.title} ئۆچرەتكە قوشۇلدى! ')
}
}
ئىقتىدار ئاتلاش (ئۇچۇر, روشەن) {
if (! ئۇچۇر.vomer.Voicanell) ئۇچۇر قايتىڭ. KennelNeNnel.Send ('سىز مۇزىكا قانالدا بولۇشىڭىز كېرەك!');
if (! Serverqueue) ئۇچۇر قايتىڭ. Kancendel.Send ('مەن ئاتايتالايدىغان ناخشا يوق).
Serverqueue.Connection.dispatcher.end ()
}
ئىقتىدار توختىتىش (ئۇچۇر, روشەن) {
if (! ئۇچۇر.vomer.Voicanell) ئۇچۇر قايتىڭ. KennelNeNnel.Send ('سىز مۇزىكا قانالدا بولۇشىڭىز كېرەك!');
Serverqueue.Songs = [];
Serverqueue.Connection.dispatcher.end ()
}
ئىقتىدار ئويناش (GUND, NOR) {
Service serverue = ئۆچرەت.
If (! Song) {
Serverqueue.VoicHanell.leave ();
ئۆچرەت. (WUWD.ID);
قايتىش
}
Screate seratcher = serverquee.Connection.playstream (ytdl (song.url))
.on ('end', () => {
Excodole.log ('مۇزىكا ئاخىرلاشتى!');)
serverqueue.Songs.phive ();
Play (Guild, Serveriscee.Songs [0]);
})
. ('خاتالىق', خاتالىق => {
Colleole.Error (خاتالىق);
});
arratcher.setvolomelicy (Serverqueue.Volume / 5);
}
خېرىدار.
تاماملانغاندىن كېيىن, ئاۋازنى ئاۋاز دولقۇنى قايتا قوزغىتىپ, ئۆز-ئارا تەسىر كۆرسىتىشىڭىز ۋە ئۆز-ئارا تەسىر كۆرسىتىشكە بەلگىلەڭ, بۇ بوتقا قانداق ئىنكاس قايتۇرۇش كېرەك.
بوتنىڭ ئۈستىدىكى ئەۋزەل بولسا, سىز بىلەن ئوخشاش GitHub دىكى مەنبە كودلارنى تاپالايسىز ۋە كومپيۇتېرىڭىزغا كۆچۈرەلەيسىز. تىزىملىتىش ۋە ئېلان قىلىش پرىنسىپىدا بولىدۇ, شۇڭا زۆرۈر تېپىلغاندا بولسا, تەييار كودنى تەھرىرلەڭ, ئاندىن سائەتنى سىناق قىلالايدۇ.
بۇ ماقالىدە, بىز ستابتىكى سائەتلىكتىكى قويۇپ بېرىش, باشقا ئىشلەتكۈچىلەرنىڭ قاتارىدىكى تارقىتىشى, ئاۋاتلىقى ۋە ئوچۇق تور بېكەتلەرنى ئىشلىتىش ئۈچۈن, ئاۋاتار ۋە ئوچۇق تور بېكەتلەرنى ئىشلىتىش ئۈچۈن, ئاۋاتوبار ۋە ئوچۇق تور بېكەتلەرنى ئىشلىتىش ئورنىغا ئېسىمىز. بۇلارنىڭ ھەممىسى پەقەت باغچىڭىزنى ياساپ, باغچىڭىزنى ياساپ, توردىكى تۈرلەرنى تارقىتىشقا تەييار ئىكەنلىكىنى ھەقىقىي جەريانلارنىڭ ھەممىسى يالغۇز جەريانلارنىڭ ھەممىسى بىلەن شۇغۇللىنىدىغان ئايرىم جەريانلارنىڭ ھەممىسىدە شۇغۇللىنىدۇ.