ဒီဆောင်းပါးမှာတေးဂီတကိုတီးခတ်ဖို့ Bot ကိုကိုယ်တိုင်ကိုယ်ကျဖန်တီးဖို့ကိုယ်တိုင်အကြောင်းပြောမယ်။ သင်ဟာ Subsced Code တစ်ခုလုံးကိုကူးယူပြီး JavaScript ကျွမ်းကျင်မှုကိုပိုင်ဆိုင်ပါကသင်ကိုယ်တိုင်တည်းဖြတ်နိုင်သည်။ အဆိုပါ bot ကိုကျွန်တော်တို့ကိုဖန်တီးခဲ့ပေမယ့်အချို့သောအဆင့်များမှာအသုံးပြုသူသည်ကွဲပြားခြားနားသောပြ problems နာများနှင့်ရင်ဆိုင်နိုင်ဆဲဖြစ်သောကြောင့်ကျွန်ုပ်တို့၏ညွှန်ကြားချက်များကိုဂရုတစိုက်ဖတ်ရှုရန်သင့်အားအကြံပေးသည်။
ဤပစ္စည်းသည်သင့်အတွက်အလွန်ရှုပ်ထွေးလွန်းကြောင်းသို့မဟုတ်အခြားအကြောင်းပြချက်များနှင့်မသင့်တော်သောကြောင့်ရှုပ်ထွေးလွန်းကြောင်းထုတ်ဖော်ပြောဆိုပါကတေးဂီတကစားရန်အဆင်သင့်လုပ်ထားသောအခမဲ့ bot များကိုသုံးပါ။ အောက်ဖော်ပြပါလင့်ခ်ပေါ်ရှိဆောင်းပါးသည်အသေးစိတ်အချက်အလက်များကိုသင်ရှာဖွေပြီးသင်အလုပ်ကိုအကောင်အထည်ဖော်နိုင်သည်။
ပိုပြီးဖတ်ပါ:
discord အတွက် server ကိုမှဂီတ bot ထည့်သွင်း
Distord တွင် bot မှတဆင့်တေးဂီတကိုကစားပါ
အဆင့် 1: လျှောက်လွှာအသစ်ကိုဖန်တီးခြင်း
description အတွက် bot တစ်ခုချင်းစီကို developer များအတွက်တရားဝင်ပေါ်တယ်တွင်မှတ်ပုံတင်ရမည်။ ဒါကြောင့်ခွင့်ပြုချက်တွေနဲ့ဆက်စပ်တဲ့လိုအပ်တဲ့ settings တွေအားလုံးကိုသင်ဟာကိုယ်ပိုင်ဆာဗာတွင်၎င်း၏ခွင့်ပြုချက်နှင့်ချိတ်ဆက်မှုနှင့်ချိတ်ဆက်ပြီး tink ကိုကူးယူနိုင်ပြီး,
Device Developer Portal ၏တရားဝင်ဝက်ဘ်ဆိုက်သို့သွားပါ
- ပရိုဂရမ်၏အဓိကစာမျက်နှာကိုဖွင့်ရန်အထက်ပါ link ကိုသုံးပါ။ application အသစ်တစ်ခုဖန်တီးရန် "application အသစ်" ကိုနှိပ်ပါ။
- ထူးခြားမှုကိုပေးထားသည့်သူ၏အမည်ကိုထည့်ပါ, အဘယ်ကြောင့်ဆိုသော်တူညီသောအမည်နှင့်အတူ bot များစွာရှိလျှင်၎င်းကိုဖန်တီးရန်မဖြစ်နိုင်ပါ - အမည်ပြောင်းခြင်းအကြောင်းကြားစာကိုအကြောင်းကြားရန်မဖြစ်နိုင်ပါ။
- ပြီးစီးပြီးနောက် site ရှိမီနူးကိုဖွင့်ပြီး Bot အမျိုးအစားကိုရွေးချယ်ပါ။
- "Built-a-bot" string ကိုဆန့်ကျင်ဘက် "add bot" ကိုနှိပ်ပါ။
- ရွေးချယ်ထားသောလျှောက်လွှာအတွက် bot ၏ဖြည့်စွက်မှုကိုအတည်ပြုပါ။
- အကျွမ်းတဝင်မီနူးမှတစ်ဆင့်« OOAUTH2 »သို့သွားပါ။
- ဤအပိုင်းသည် bot ၏အထွေထွေ parameters များနှင့်၎င်း၏ခွင့်ပြုချက်အတွက်တာဝန်ရှိသည်။ "Scopes" ပိတ်ပင်တားဆီးမှုတွင် "bot" အပိုဒ်ကိုမှတ်သားပါ။
- ခွင့်ပြုချက်များစာရင်းတွင် Voice Channels နှင့်ဆက်သွယ်မှုကိုသက်ဝင်စေပါ။
- Bot သည်မက်ဆေ့ခ်ျများကိုစာဖတ်နိုင်ပြီးပေးပို့နိုင်သည်, ထို့ကြောင့်စာသားချက်တင်ခွင့်ပြုချက်ဖြင့်ဤရွေးချယ်မှုများကို enable လုပ်ရန်မမေ့ပါနှင့်။ ဟုတ်ပါတယ်, သင်ခွင့်ပြုချက်အားလုံးကိုတစ်ချိန်တည်းပေးနိုင်တယ်, ဒါပေမယ့်ဒီချဉ်းကပ်မှုဟာမယုံနိုင်လောက်အောင်မယုံနိုင်စရာပဲ,
- ခွင့်ပြုချက် setting ကိုပြီးဆုံးသွားသောအခါဆာဗာပေါ်ရှိ bot ၏ပထမဆုံးခွင့်ပြုချက်အတွက်လင့်ခ်ကိုကူးယူပါ။
- ဒီ link ကိုလိုက်နာပြီးသင် bot ကိုစစ်ဆေးချင်တဲ့ test server ကိုရွေးပါ။
- Capture အတည်ပြုပြီးအောင်မြင်သောခွင့်ပြုချက်နှင့်ပတ်သက်သောသတင်းအချက်အလက်များကိုစောင့်ဆိုင်းပါ။
ယခုတွင်သင်သည်ထူးခြားသောလက္ခဏာသက်သေနှင့်အတူ bot ရှိပြီး bot ကိုဆာဗာတွင်ထည့်ပြီးသော server ထဲသို့ထည့်ပြီးပါပြီ။ ၎င်းကိုစတင်ရန်၎င်းသည်အော့ဖ်လိုင်းစစ်ဆင်ရေးအတွက် boting boting ကိုမချနိုင်သော်လည်းဒေသခံကွန်ပျူတာပေါ်တွင်နောက်ထပ်လုပ်ဆောင်မှုများအနည်းငယ်ပြုလုပ်ရလိမ့်မည်။
အဆင့် 2: ကြိုတင်ပြင်ဆင်မှုလုပ်ရပ်များ
ကြိုတင်ပြင်ဆင်ထားသည့်လုပ်ဆောင်ချက်များတွင်လိုအပ်သောလမ်းညွှန်များနှင့်ဖိုင်များ, ကိရိယာများတပ်ဆင်ခြင်းနှင့်၎င်းတို့အတွက်မှီခိုမှုများကိုဖန်တီးခြင်းပါဝင်သည်။ ဤအရာတွင်ရှုပ်ထွေးသောအရာမရှိပါ။ သင်လုပ်ဆောင်မှုတစ်ခုစီကိုမည်သည့်အဆင့်တွင်မဆိုအမှားများကိုအလှည့်အပြောင်းတစ်ခုပြုလုပ်ရန်လိုအပ်သည်။
- bot ၏အမည်နှင့်ဖိုင်တွဲတစ်ခုဖန်တီးပါ။ မည်သည့်နေရာတွင်မဆိုရွေးချယ်နိုင်သော်လည်းအသုံးပြုသူ၏အိမ်ဖိုင်တွဲသည်ဤအတွက်အကောင်းဆုံးဖြစ်သည်။
- "config.json" နှင့် "index.js" အတွက်ဖိုင်တွဲနှစ်ခုဖန်တီးပါ။ ပထမ ဦး စွာ bot ၏ခြုံငုံ configuration ကို install လုပ်ပါ - ၎င်း၏ရှေ့ဆက်နှင့်ထူးခြားသောတိုကင်နှင့်ဒုတိယနေရာတွင် - ဒုတိယနေရာတွင် program code တစ်ခုလုံးနှင့်ဤကိရိယာ၏ပညတ်များနှင့်အတူပရိုဂရမ်ကုဒ်တစ်ခုလုံးကိုတပ်ဆင်ပါ။
- bot ၏အလုပ်အတွက် node.js. လိုအပ်လိမ့်မည်။ ဤကိရိယာသည်ဒေသခံကွန်ပျူတာပေါ်တွင် script များကိုစတင်ရန်ဒီဇိုင်းပြုလုပ်ထားသည်။ အောက်ဖော်ပြပါလင့်ခ်ကိုလိုက်နာပါ။
တရားဝင် site မှ node.js ကို download လုပ်ပါ
- executable file executable ကို download လုပ်ပါ။ မျက်နှာပြင်ပေါ်ရှိညွှန်ကြားချက်များကိုအောက်ပါညွှန်ကြားချက်များအတိုင်းရိုးရိုးရှင်းရှင်းတပ်ဆင်မှုပြုလုပ်ပါ။
- ထို့နောက် "command line" ကိုသင့်အတွက်အဆင်ပြေပါက "Run" utility တွင် CMD ကို 0 င်ရောက်ခြင်းကိုဖွင့်ပါ။
- "Discord.js" ဟုခေါ်သော Discord API နှင့်အတူအလုပ်လုပ်ရန် module ကို install လုပ်ပါ။ ဤသို့ပြုလုပ်ရန်, opens opens console 0 င်းဒိုးတွင် NPM Install Discord.js ffmpeg-binaries opsscript opsclscript ytdl-core --save နှင့် Enter နှိပ်ပါ။
- လက်ရှိ Console 0 င်းဒိုးကိုမပိတ်ဘဲအောင်မြင်စွာတပ်ဆင်ခြင်းတွင်မျက်နှာပြင်ပေါ်ရှိအသိပေးချက်များကိုစောင့်ပါ။ အကယ်. အမှားအယွင်းများပေါ်လာပါက၎င်းတို့၏ကုဒ်ကိုလေ့လာပြီးရှာဖွေရေးအင်ဂျင်သို့မဟုတ်တရားဝင်ဝက်ဘ်ဆိုက်တွင်အလုပ်ဆုံးဖြတ်ရန်ရှာဖွေရေးအင်ဂျင်ကိုအသုံးပြုပါ။
ရလဒ်အနေဖြင့်သုံးစွဲသူ၏အိမ်ဖိုင်တွဲသည် node.js အစိတ်အပိုင်းနှင့်ဆက်စပ်သောဖိုင်များပေါ်လာပြီး module ပြီးနောက်ထည့်သွင်းသင့်သည်။ ကွန်ပျူတာကို restart လုပ်ပါ, ဒါကြောင့် bot က startup အခက်အခဲမရှိဘူး, ပြီးနောက်နောက်တစ်ဆင့်သို့သွားပါ။
အဆင့် 3: BOT Configuration ဖိုင်ကိုတည်းဖြတ်ခြင်း
Created BOT configuration file တစ်ခုတွင်အသုံးပြုသောကုဒ်၏အတန်းအတန်းများအားလုံးရှိလိမ့်မည်ကိုသင်သိပြီးဖြစ်သည်။ API ရှိ application ကိုသတ်မှတ်သည့်ထူးခြားသောလက္ခဏာများနှင့်ထူးခြားသောလက္ခဏာသက်သေများအားလုံးရှိလိမ့်မည်ကိုသင်သိပြီးဖြစ်သည်။ နောက်ထပ်လုပ်ဆောင်မှုများအားလုံးကိုဖြည့်ဆည်းရန် JS Syntax အထောက်အပံ့သို့မဟုတ်အဆင့်မြင့်စာသားအယ်ဒီတာများနှင့်အတူပရိုဂရမ်တစ်ခုကိုကူးယူရန်အကြံပြုလိုပါသည်။ အောက်ဖော်ပြပါလင့်ခ်ပေါ်ရှိဆောင်းပါးသည်သင်ရရှိနိုင်သည့်သင့်လျော်သောဖြေရှင်းနည်းများနှင့်အကျွမ်းတဝင်ရှိနိုင်ပါလိမ့်မည်။
Read More: ပရိုဂရမ်းမင်းအတွက်ဖွံ့ဖြိုးရေးပတ်ဝန်းကျင်ကိုရွေးချယ်ခြင်း
ကွန်ပျူတာပေါ်တွင် install လုပ်ပြီးအလုပ်လုပ်ရန်အဆင်သင့်ဖြစ်သည့်အတွက် configuration file ကိုတည်းဖြတ်ခြင်း, အသုံးပြုသူအချက်အလက်များကို 0 င်ရောက်ခြင်းကိုသင်လုံခြုံစွာတည်းဖြတ်နိုင်သည်။
- config.js ဖိုင်ကိုစာသားအယ်ဒီတာသို့မဟုတ်ဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်မှတဆင့် run ပါ, အောက်ပါကုဒ်ကိုထည့်ပါ။
{
"ရှေ့ဆက်" - "!"
"တိုကင်": "သင်၏ -toke"
}
အလိုရှိသောအနေဖြင့်နှစ်ထပ်ကိုးကားထားသောရှေ့ဆက်ကိုပြောင်းပါသို့မဟုတ်အာမေပါအမှတ်အသားတစ်ခုချန်ထားပါ။ ဤနိမိတ်လက္ခဏာကိုအသုံးပြုပြီး command တစ်ခု၏ဥပမာတစ်ခု - ကစားပါ။
- Development Portal တွင်သင်၏ bot ကိုသွားပါ, ထိုတွင်ထူးခြားသောလက္ခဏာသက်သေရှာပြီးကူးယူပါ။
- နှစ်ထပ်ကိန်းဂဏန်းများကိုမဖျက်ဘဲသင်၏ -Toke စစ်ဆေးခြင်းကိုထည့်ပါ။
- အပြောင်းအလဲများကိုသိမ်းဆည်းပြီးဤဖိုင်ကိုပိတ်ပါ။ စကားမစပ်, သင်စံ "မှတ်စုစာအုပ်မှတဆင့်တူညီသောအရေးယူဆောင်ရွက်နိုင်ပါတယ်။
configuration file နှင့်အတူဤလုပ်ဆောင်မှုများကိုပြီးစီးခဲ့သည်။ Code တစ်ခုတည်းသတ်မှတ်ရန်မလိုအပ်တော့ပါ။ ENTITIDS ကိုသိမ်းဆည်းရန်မမေ့ပါနှင့်, ၎င်းကိုတေးဂီတဖွင့်ရန် bot ကိုဆက်လက်ရေးဆွဲရန်ပိတ်ပါ။
အဆင့် 4: ရုံးတင်စစ်ဆေးခြင်း bot
ပထမ ဦး စွာ BOT သည်ယေဘုယျအားဖြင့်ဆာဗာပေါ်တွင်လည်ပတ်နေပြီးအွန်လိုင်း mode သို့သွားရန်လိုအပ်ကြောင်းသေချာစေရန်လိုအပ်သည်။ ၎င်းကို Code ၏အဓိကအပိုင်းကို index.js သို့ရေးရန်လိုအပ်လိမ့်မည်။ ထို့နောက် node.js ကိုစတင်ရန်လိုအပ်သည်။
- ဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်သို့မဟုတ်ရွေးချယ်ထားသောစာသားတည်းဖြတ်သူမှတစ်ဆင့် Editing အတွက်ဖော်ပြပါဖိုင်ကိုဖွင့်ပါ။
- မှီခိုမှုတပ်ဆင်မှုအတွက်တာ 0 န်ရှိသောကုဒ်၏ပိတ်ပင်တားဆီးမှုကိုထည့်ပါ။ အသုံးပြုသော module များကိုဖော်ပြသည့်ပုံစံများကိုဖော်ပြသည်။
Const Discord = လိုအပ်သည် ('Discord.js');
{
ရှေ့ဆက်
လက္ခဏာသက်သေ
} = လိုအပ်သည် ('./ config.json');
Const YTDL = လိုအပ် ('YTDL-core'),
- ယခင်သတ်မှတ်ထားသောတိုလေးများ၏အကူအညီဖြင့်ရိုးရှင်းသောလိုင်းနှစ်ခုကိုသာ 0 င်ရောက်ခြင်းဖြင့်သယ်ဆောင်သွားသော client နှင့် login တစ်ခုကိုဖန်တီးပါ။
Const client = အသစ်စက်စက် isration.client ();
client.login (token);
- BOT ကိုနားထောင်ခြင်းအတွက်နောက်ဆုံးအခြေခံလိုင်းများကိုသတ်မှတ်ရန်သာဖြစ်သည်။
client.once ('အဆင်သင့်', () => {
console.log ('အဆင်သင့်!');
});
client.once ('ပြန်လည်ချိတ်ဆက်ခြင်း', () => {
console.log ('ပြန်လည်ချိတ်ဆက်ခြင်း!');
});
client.once ('disconnect', () => {
console.log ('disconnect!');
});
- "file" menu ကိုချဲ့ထွင်ပြီးပြောင်းလဲမှုများကိုသိမ်းဆည်းပါ။
- တစ် ဦး အဆင်ပြေလမ်းအတွက်နောက်တဖန် console ကို run ။
- bot script ကိုစတင်ရန် Node Index.js command ကိုရိုက်ထည့်ပါ။
- အကယ်. ဖိုင်များသည်သုံးစွဲသူ၏နေအိမ်လမ်းညွှန်တွင်မတည်ရှိပါက node ကို node တစ်ခုပြီးဆုံးသွားပါလိမ့်မည်။
- BOT ကိုအောင်မြင်စွာပစ်လွှတ်လိုက်သောစာများသည် "အဆင်သင့်" ဟူသောစာလုံးများဖြင့်ဖော်ပြထားသည်။
- ပွင့်လင်းစွာဖြည်းကားဖွင့်ပြီး BOT သည် "အွန်လိုင်း" ၏ status သို့သွားကြောင်းသေချာပါစေ။
အဆင့် 5. ဂီတ bot ၏အဓိက coder ကိုရေးခြင်း
ရှုပ်ထွေးဆုံးဖြစ်စဉ်မှာဆက်လက်တည်ရှိထားခဲ့သည် - ဂီတ bot အတွက်အခြေခံကုဒ်ကိုရေးသားခြင်း။ ၎င်းသည်လုပ်ဆောင်ရမည့်အလုပ်များစာရင်း - မက်ဆေ့ခ်ျများနှင့်ပြုပြင်ခြင်း command များဖတ်ခြင်း, သီချင်းအမည်သို့မဟုတ်၎င်း၏လိပ်စာကိုဖတ်ခြင်း, အသံချန်နယ်နှင့်ပြန်ဖွင့်ခြင်းများကိုဆက်သွယ်ခြင်း။ ဒီ bot အားလုံးမှာခွင့်ပြုချက်ကတော့ "index.js" ဖိုင်တစ်ခုတည်းမှာဖျော်ဖြေတင်ဆက်ထားတဲ့ JavaScript functions တွေကိုသုံးပြီးလုပ်ရပ်တွေကိုသုံးဖို့လိုတယ်။
မက်ဆေ့ခ်ျများကိုဖတ်ရန်ရိုးရှင်းသောအင်္ဂါရပ်တစ်ခုကိုထည့်ပါ။
client.on ('message', async message => {
}
၎င်းတွင်လိုင်းနှစ်ခုသာပါဝင်သည်။ သို့သော် bot ကိုစိတ်ကြိုက်စုံစမ်းမှုတစ်ခုပြုလုပ်ရန်နှင့်မှန်ကန်စွာလုပ်ဆောင်ရန်ခွင့်ပြုလိမ့်မည်။ ၎င်းသည်မည်သည့်အမျိုးအစားများကိုမဆို bot များအတွက်အရေးအပါဆုံးအဖွဲ့တစ်ဖွဲ့ဖြစ်သည်ဟုဆိုနိုင်သည်။ 0 င်ရောက်ခြင်းအားဖြင့်အခြား bot များမှမက်ဆေ့ခ်ျကိုလျစ်လျူရှုရန်သေချာပါစေ
အကယ်. (Message.author.bot) ပြန်လာပါ။
ဆာဗာပေါ်ရှိ bot မျိုးစုံကိုတစ်ပြိုင်နက်တည်းအသုံးပြုစဉ်ပ conflicts ိပက္ခများကိုရှောင်ရှားသည်။ ထို့နောက် bot သည်အသင်းကိုလက်ခံရန်သို့မဟုတ်ပြန်လာရန်ရှေ့ဆက်ကိုစစ်ဆေးရန်လိုအပ်လိမ့်မည်။
အကယ်. (! Message.Content.startswith (ရှေ့ဆက်)) ပြန်လာပါ။
Plaimed command များကိုအော်ပရေတာများပါ 0 င်ပါကရိုးရှင်းစွာ အသုံးပြု. ရိုးရှင်းသောအသုံးပြုမှုကိုပြုလုပ်သည်။
Const Serviceue = Queue.Get (Message.Guild.id);
if (Message.Content.startswith (`$ {ရှေ့ဆက်} Play`))
execute (မက်ဆေ့ခ်ျ, ဆာလောင်);
ပြန်လာ;
} အခြားလျှင် (Message.content.startswith (`$ {ရှေ့ဆက်} skip`))
skip (မက်ဆေ့ခ်ျ, ဆာလောင်);
ပြန်လာ;
} အခြားလျှင် (Message.content.startswith (`{{{{{{{{{ရှေ့ဆက်}))
ရပ်တန့် (မက်ဆေ့ခ်ျ, ဆာလောင်);
ပြန်လာ;
} အခြား
Message.Channel.send ('သင်သည်ရှိပြီးသား command ကိုသုံးရမည်။ ')
}
Send (') function သည် function ကို user-working မဟုတ်သော command ထဲသို့ 0 င်ရောက်ပါကအသုံးပြုသူထံစာကိုပို့သည်ကိုသတိပြုပါ။ ဤစာကိုသင်တည်းဖြတ်နိုင်သည်။
ယခု bot သည် command များကိုယူရန်သင်ယူခဲ့သော်လည်းလုပ်ရပ်များမသတ်မှတ်ထားသည့်အတွက်၎င်းသည်သူတို့နှင့်အပြန်အလှန်ဆက်သွယ်နိုင်သည်အထိ။ Playback အတွက်တာဝန်ရှိသည့် Play command ကိုအရင်ထည့်ပါ။ ၎င်းကိုအောက်ပါပုံစံဖြင့်ခင်းကျင်းရန်စီစဉ်ထားသည်။
Const Queue = မြေပုံအသစ် (),
သူသည်ပညတ်တော်အားလုံးကိုတန်းစီထားပြီးယခင်တ ဦး တည်းပြီးဆုံးမှသာသီချင်းများကိုပြုလုပ်ရန်သီချင်းများကိုပြုလုပ်သည်။ ထို့နောက်အသုံးပြုသူသည်အသံရုပ်သံလိုင်းနှင့်ချိတ်ဆက်ထားပြီး bot သည်သက်ဆိုင်ရာခွင့်ပြုချက်ရှိမရှိစစ်ဆေးမည့် function တစ်ခုကိုဖန်တီးရန်လိုအပ်လိမ့်မည်။
Async function ကို execute (မက်ဆေ့ခ်ျ, serverqueue) {
Const args = Message.Content.Split ('');
Conn Voicechannel = Message.voicechanchanchanchanchanchan;
အကယ်. (! Voicechannel) ပြန်လာသော Message.channel.send ('တေးဂီတကိုနားထောင်ရန်) သင်အသံရုပ်သံလိုင်းတွင်ရှိရန်လိုအပ်သည်။ );
Const Permissions = voicechannel.permissionsfor (message.cletient.user);
အကယ်. (! ခွင့်ပြုချက် .has) ||! ခွင့်ပြုချက် .has ('Export's.HAs)
Message.channel.send ('ငါ Join Tope Channel ကိုစကားပြောရန်ခွင့်ပြုချက်လိုအပ်ပါသည်။ ');
}
}
နောက်လုပ်ဆောင်ချက် - YTDL စာကြည့်တိုက်ကိုဆက်သွယ်ခြင်းဤ bot သည် YouTube မှလင့်ခ်ရှိသီချင်း၏အမည်ကိုဖတ်ပြီးသောကြောင့်၎င်းသည်ဆာဗာတွင်ကစားသည်။ ဒါဟာသေးငယ်တဲ့ code ထည့်သွင်းအပိုင်းအစကိုထည့်သွင်းရန်ယူပါလိမ့်မယ်။
Const Songinfo = YTDL.GETITFO ကိုစောင့်ဆိုင်းခြင်း (args [1]);
Const Song = {
ခေါင်းစဉ်: Songinfo.title,
url: songinfo.video_url,
};
လာမည့် Code ၏နောက် block သည်သင့်အားတန်းစီတွင်သီချင်းများရှိပါကသို့မဟုတ်အသံချန်နယ်နှင့်ချက်ချင်းချိတ်ဆက်နိုင်ပြီးပြန်ဖွင့်နိုင်သည်။
လျှင် (! sermissueue) {
} အခြား
Serverqueue.songs.push (Song);
console.log (sobserueue.songs);
Message.channel.send (`$ {song.title} ကို Queue ထဲသို့ထည့်သွင်းထားသည်။ `;
}
ထို့နောက် Novice Programmers အတွက်ရှုပ်ထွေးသောပရိုဂရမ်မာများအတွက်ရှုပ်ထွေးမှုအစီအစဉ်တစ်ခုအတွက်သီချင်းတစ်ပုဒ်ကိုခင်းကျင်းစေပြီးသင်ရိုက်ထည့်သည့်အချိန်တိုင်းအတူတူပြုလုပ်သည်။ ကစားခြင်း, တင်ပြထားသည့်မှတ်ချက်များကိုဂရုပြုပါ,
// တန်းစီများအတွက်စာချုပ်ဖန်တီး
Const QueueContructruct = {
TextChannel: Message.Channel,
voicechannel: Voicechannel,
ဆက်သွယ်မှု: NULL,
သီချင်းများ - [],
Volume 5,
ကစားခြင်း - ဟုတ်တယ်,
};
// ကျွန်ုပ်တို့၏စာချုပ်နှင့်အတူတန်းစီသတ်မှတ်
Queue.set (message.guild.id, QueueContruct);
// ကျွန်တော်တို့ရဲ့သီချင်းများအတွက်ဖွဲ့စည်းမှုထည့်သွင်းထည့်သွင်းပါ
Queuecontructruct.songs.Push (Song);
ကြိုးစားကြည့်ပါ
// ဤနေရာတွင်ကျွန်ုပ်တို့သည်အသံ chat chat နှင့်ပူးပေါင်းရန်နှင့်အရာဝတ္ထုတွင်ဆက်သွယ်မှုကိုသိမ်းဆည်းရန်ကြိုးစားနေသည်
var ဆက်သွယ်မှု = voicechannel.join ();
Queuecontructruct.Connection = ဆက်သွယ်မှု;
// သီချင်းကိုစတင်ရန်ပြန်ဖွင့် function ကိုခေါ်ဆိုခြင်း
Play.Guild.Guild, Queueecontruct.songs [0]);
} ဖမ်းဖမ်းမိ (er) {
// bot အသံ chat နှင့်မပူးပေါင်းပါကအမှားအယွင်းတစ်ခုပြပါ
console.log (er);
Queue.delete (message.guild.id);
Message.channel.send (er);
}
တန်းစီနှင့်အတူအရာအားလုံးရှင်းရှင်းလင်းလင်းဖြစ်သော်လည်းသီချင်းများမကစားသေးပါ, ဘာဖြစ်လို့လဲဆိုတော့ကစား function အတွက်တာဝန်မရှိတဲ့အတွက်သီချင်းတွေမကစားဘူး။ ဤအရာကိုကျင့်သုံးရန်ဖွဲ့စည်းပုံကိုထည့်ရန်လိုအပ်သည်
function Play (Guild, Song) {
Const Serviceue = Queue.ID (GUILD.ID);
လျှင် (! သီချင်း) {
Servereue.voicechannel.leade;
Queue.delete (Guild.id);
ပြန်လာ;
}
}
Playstream () function ကို သုံး. track သို့သတ်မှတ်ထားသော link ကိုစတင်အသုံးပြုခြင်းသည်စတင်သည်။
Const Dispatcher = serverque.connection.Playstream (YTDL (Song.Url))
.on ('end', () => {)
console.log ('ဂီတသည်ကျော်!');
// တန်းစီမှအချောသီချင်းကိုဖယ်ရှား
Serviceue.Songs.shift ();
// နောက်တဖန်နောက်တဖန်ပြန်ဖွင့် function ကိုအောက်ပါသီချင်းများနှင့်အတူဖြစ်ပေါ်စေသည်
Play (Guild, Serverweue.songs [0]);
})
.on ('အမှား', အမှား => {
console.Error (အမှား),
});
dispatcher.setvolumelogarithmic (sobserue.volume / 5);
အကယ်. သင်သည်သီချင်း skip function ကိုထည့်သွင်းလိုပါက Playlist တစ်ခုကိုကစားရန်ဆုံးဖြတ်သောအခါ, သင့်လျော်သော command ကို ဦး စွာဂရုပြုပါ။ ထို့နောက်ဤအပိုင်းအစကိုထည့်ပါ။
skip (မက်ဆေ့ခ်ျ, serverqueue) {
အကယ်. (! Message.vember.voicechannel) ကိုပြန်ပို့ပါ။
အကယ်. (! serverqueue) ပြန်လာသည့် Message.channel.send ('ငါ sprew spew!');
Servisionue.connection.Dispatcher.end ();
}
ခန့်မှန်းခြေအားဖြင့်တူညီသောအစီအစဉ်သည် stop function ကိုအလုပ်လုပ်သည်, သို့သော်ကုဒ်နှင့်အတူပိတ်ပင်တားဆီးမှုအနည်းငယ်ကွဲပြားခြားနားသောအသွင်အပြင်ကိုရယူသည်။
function ကိုရပ်တန့် (မက်ဆေ့ခ်ျ, serverqueue) {
အကယ်. (! message.vember.voicechannel) အကယ်. Message.channel.send ('
တေးဂီတကိုရပ်တန့်ဖို့မင်းအသံချန်နယ်ထဲမှာရှိနေရမယ်။ ');
Serverqueue.songs = [];
Servisionue.connection.Dispatcher.end ();
}
အထက်တွင်ဖော်ပြထားသောအချက်အလက်များသည် JavaScript ဘာသာစကားနှင့်အကျွမ်းတ 0 င်ရှိသူများအတွက်အသင့်တော်ဆုံးသို့မဟုတ်လေ့လာမှုတွင်သာပါဝင်ပြီးဂီတ bot ကိုဖန်တီးရန်ဆုံးဖြတ်ခြင်းကိုစဉ်းစားကြည့်ပါ။ အကယ်. သင်သည်အထွေထွေနှင့်သတ်မှတ်ထားသောလုပ်ကွက်များရှိသည့် code များဖြင့်သင်မစွမ်းဆောင်နိုင်ပါကအရင်းအမြစ်တစ်ခုလုံးကိုမဖော်ပြထားပါကအရင်းအမြစ်တစ်ခုလုံးကိုဖိုင်ထဲသို့ထည့်ပါ။ ပြောင်းလဲမှုများ။ အရင်းအမြစ်ကုဒ်အားလုံးမှာဒီလိုမျိုးရှိတယ်။
Const Discord = လိုအပ်သည် ('Discord.js');
{
ရှေ့ဆက်
လက္ခဏာသက်သေ
} = လိုအပ်သည် ('./ config.json');
Const YTDL = လိုအပ် ('YTDL-core'),
Const client = အသစ်စက်စက် isration.client ();
Const Queue = မြေပုံအသစ် (),
client.once ('အဆင်သင့်', () => {
console.log ('အဆင်သင့်!');
});
client.once ('ပြန်လည်ချိတ်ဆက်ခြင်း', () => {
console.log ('ပြန်လည်ချိတ်ဆက်ခြင်း!');
});
client.once ('disconnect', () => {
console.log ('disconnect!');
});
client.on ('message', async message => {
အကယ်. (Message.author.bot) ပြန်လာပါ။
အကယ်. (! Message.Content.startswith (ရှေ့ဆက်)) ပြန်လာပါ။
Const Serviceue = Queue.Get (Message.Guild.id);
if (Message.Content.startswith (`$ {ရှေ့ဆက်} Play`))
execute (မက်ဆေ့ခ်ျ, ဆာလောင်);
ပြန်လာ;
} အခြားလျှင် (Message.content.startswith (`$ {ရှေ့ဆက်} skip`))
skip (မက်ဆေ့ခ်ျ, ဆာလောင်);
ပြန်လာ;
} အခြားလျှင် (Message.content.startswith (`{{{{{{{{{ရှေ့ဆက်}))
ရပ်တန့် (မက်ဆေ့ခ်ျ, ဆာလောင်);
ပြန်လာ;
} အခြား
message.channel.send ('သင်တရားဝင် command ကိုထည့်ရန်လိုအပ်သည်။ ')
}
});
Async function ကို execute (မက်ဆေ့ခ်ျ, serverqueue) {
Const args = Message.Content.Split ('');
Conn Voicechannel = Message.voicechanchanchanchanchanchan;
အကယ်. (! Voicechannel) ပြန်လာသည့် Message.channel.send ('သင်တေးဂီတကစားရန်အသံဖြင့်ဖြစ်ရန်လိုအပ်သည်။
Const Permissions = voicechannel.permissionsfor (message.cletient.user);
အကယ်. (! ခွင့်ပြုချက် .has) ||! ခွင့်ပြုချက် .has ('Export's.HAs)
Message.Channel.send ('' မင်းရဲ့အသံချန်နယ်မှာပါ 0 င်ဖို့ခွင့်ပြုချက်တွေလိုတယ်။ ');
}
Const Songinfo = YTDL.GETITFO ကိုစောင့်ဆိုင်းခြင်း (args [1]);
Const Song = {
ခေါင်းစဉ်: Songinfo.title,
url: songinfo.video_url,
};
လျှင် (! sermissueue) {
Const QueueContructruct = {
TextChannel: Message.Channel,
voicechannel: Voicechannel,
ဆက်သွယ်မှု: NULL,
သီချင်းများ - [],
Volume 5,
ကစားခြင်း - ဟုတ်တယ်,
};
Queue.set (message.guild.id, QueueContruct);
Queuecontructruct.songs.Push (Song);
ကြိုးစားကြည့်ပါ
var ဆက်သွယ်မှု = voicechannel.join ();
Queuecontructruct.Connection = ဆက်သွယ်မှု;
Play.Guild.Guild, Queueecontruct.songs [0]);
} ဖမ်းဖမ်းမိ (er) {
console.log (er);
Queue.delete (message.guild.id);
Message.channel.send (er);
}
} အခြား
Serverqueue.songs.push (Song);
console.log (sobserueue.songs);
Message.channel.send (`$ {song.title} ကို Queue ထဲသို့ထည့်သွင်းထားသည်။ `;
}
}
skip (မက်ဆေ့ခ်ျ, serverqueue) {
အကယ်. (! Message.vember.voicechannel) ကိုပြန်ပို့ပါ။
အကယ်. (! serverqueue) ပြန်လာသည့် Message.channel.send ('ငါ sprew spew!');
Servisionue.connection.Dispatcher.end ();
}
function ကိုရပ်တန့် (မက်ဆေ့ခ်ျ, serverqueue) {
အကယ်. (! Message.vember.voicechannel) ကိုပြန်ပို့ပါ။
Serverqueue.songs = [];
Servisionue.connection.Dispatcher.end ();
}
function Play (Guild, Song) {
Const Serviceue = Queue.ID (GUILD.ID);
လျှင် (! သီချင်း) {
Servereue.voicechannel.leade;
Queue.delete (Guild.id);
ပြန်လာ;
}
Const Dispatcher = serverque.connection.Playstream (YTDL (Song.Url))
.on ('end', () => {)
console.log ('ဂီတသည်အဆုံးသတ်!');
Serviceue.Songs.shift ();
Play (Guild, Serverweue.songs [0]);
})
.on ('အမှား', အမှား => {
console.Error (အမှား),
});
dispatcher.setvolumelogarithmic (sobserue.volume / 5);
}
client.login (token);
ပြီးစီးပြီးနောက် bot ကို restart လုပ်ခြင်းသည်သင်၏ဆာဗာသို့သွားနိုင်သည့်အသံ changes ကို ဆက်သွယ်. bot ကိုမည်သို့တုံ့ပြန်ရမည်ကိုစစ်ဆေးပါ။
အထက်ဖော်ပြပါအပိုင်းများသည်သင့်အတွက်မသင့်တော်ပါကအရင်းအမြစ်ကုဒ်များကို Github နှင့်အတူတူပင်ကိုရှာတွေ့ပြီးသင့်ကွန်ပျူတာသို့ကူးယူနိုင်သည်။ မှတ်ပုံတင်ခြင်းနှင့်ပစ်လွှတ်ခြင်းနိယာမသည်အတူတူပင်ဖြစ်နေဆဲဖြစ်သောကြောင့်လိုအပ်ပါကအချောကုဒ်ကိုတည်းဖြတ်ပါ, ပြီးနောက် bot ကိုစမ်းသပ်ရန်ဆက်လက်လုပ်ဆောင်ပါ။
ဒီဆောင်းပါးမှာ Bot ကိုစွန့်ခွာပြီးအခြားအသုံးပြုသူများအကြားဖြန့်ဝေခြင်း, ဤအရာအားလုံးသည်သင်၏ကျွမ်းကျင်မှုကို bot များဖန်တီးရန်သင့်အားကျွမ်းကျင်မှုကိုဂုဏ်ပြုနိုင်ပြီးကွန်ယက်ရှိစီမံကိန်းများကိုဖြန့်ဝေရန်အဆင်သင့်ဖြစ်နေသည့်အခါသာစေ့စပ်သင့်သည်။