ក្នុងអត្ថបទនេះយើងនឹងនិយាយអំពីការបង្កើតដោយដៃ bot មួយសម្រាប់ការលេងតន្ត្រីនៅក្នុង discord ។ ជាធម្មតាអ្នកអាចចម្លងកូដទាំងមូលដែលបានដាក់ស្នើនិងកែសម្រួលវាសម្រាប់ខ្លួនអ្នកប្រសិនបើអ្នកជាម្ចាស់ជំនាញ JavaScript ។ ការ Bot នេះត្រូវបានបង្កើតឡើងដោយពួកយើងប៉ុន្តែនៅក្នុងដំណាក់កាលមួយចំនួនដែលអ្នកប្រើនៅតែអាចប្រឈមមុខនឹងបញ្ហាមានភាពខុសគ្នាដូច្នេះយើងណែនាំឱ្យអ្នកអានដោយប្រុងប្រយ័ត្នមិនត្រឹមតែការណែនាំរបស់យើងប៉ុណ្ណោះទេប៉ុន្តែលេចឡើងនៅលើកូដកំហុសអេក្រង់បើមានបែបនេះ។
ប្រសិនបើវាប្រែចេញថាសម្ភារៈនេះត្រូវបានមានភាពស្មុគស្មាញពេកសម្រាប់អ្នកឬមិនសមស្របសម្រាប់ហេតុផលផ្សេងទៀតប្រើរូបយន្តដោយឥតគិតត្រៀមខ្លួនជាស្រេចបានធ្វើឡើងដើម្បីលេងតន្ត្រី។ អត្ថបទលើតំណខាងក្រោមអ្នកនឹងដឹងពលម្អិតអំពីនេះហើយអ្នកអាចអនុវត្តភារកិច្ច។
អានបន្ថែម:
ការបន្ថែម bot តន្ត្រីទៅម៉ាស៊ីនមេក្នុងការមិនចុះសម្រុង
លេងភ្លេងតាមរយៈការធ្វើឱ្យខូច
ជំហានទី 1: ការបង្កើតកម្មវិធីថ្មី
bot គ្នាសម្រាប់ដោះត្រូវតែចុះបញ្ជីជាផ្លូវការវិបផតថលលើសម្រាប់អ្នកអភិវឌ្ឍន៍។ ដូច្នេះអ្នកទទួលបាននូវការចូលដំណើរការទៅកាន់ការកំណត់ចាំបាច់ផ្សារភ្ជាប់ជាមួយនឹងសិទ្ធិនិងឥរិយាបទទូទៅនៃការ Bot ទាំងអស់, អ្នកអាចចម្លងតំណទៅការអនុញ្ញាតរបស់ខ្លួននៅក្នុងម៉ាស៊ីនបម្រើផ្ទាល់ខ្លួនហើយប្រើសញ្ញាសម្ងាត់តែមួយគត់ដែលត្រូវបានត្រូវការសម្រាប់ការអភិវឌ្ឍបន្ថែមទៀតនៃពាក្យបញ្ជា។
សូមចូលទៅកាន់គេហទំព័រផ្លូវការរបស់វិបផតថល discord អភិវឌ្ឍន៍
- ប្រើតំណខាងលើនេះដើម្បីបើកទំព័រមេវិបផតថលសម្រាប់អ្នកអភិវឌ្ឍន៍, ចូលទៅក្នុងគណនីផ្ទាល់ខ្លួនមិនចុះសម្រុងគ្នានៅក្នុងនិងចុចលើ "កម្មវិធីថ្មី" ដើម្បីបង្កើតកម្មវិធីថ្មី។
- បញ្ចូលឈ្មោះរបស់គាត់បានផ្ដល់ឱ្យលក្ខណៈពិសេសនេះ, ព្រោះប្រសិនបើមានការ bots ជាច្រើនដែលមានឈ្មោះដូចគ្នា, វានឹងមិនអាចធ្វើទៅបានដើម្បីបង្កើតវា - ការជូនដំណឹងនៃការប្តូរឈ្មោះមួយដែលត្រូវបានជូនដំណឹង។
- ពេលបញ្ចប់ការបើកម៉ឺនុយនៅលើតំបន់បណ្តាញនិងជ្រើស "បត់" ប្រភេទ។
- ផ្ទុយ«កសាងមួយពិចារណា "ខ្សែអក្សរដែលបានចុចលើ" បន្ថែមបត់ "។
- បញ្ជាក់ការបន្ថែមនៃការ Bot សម្រាប់កម្មវិធីដែលបានជ្រើស។
- តាមរយៈម៉ឺនុយស៊ាំចូលទៅកាន់« OAuth2 »។
- ផ្នែកនេះគឺជាការទទួលខុសត្រូវសម្រាប់ប៉ារ៉ាម៉ែត្រទូទៅនៃការ Bot និងការអនុញ្ញាតរបស់ខ្លួន។ នៅក្នុងប្លុក "វិសាលភាព" សម្គាល់ "ការពិចារណា" កថាខណ្ឌ។
- នៅក្នុងបញ្ជីនៃសិទ្ធិអនុញ្ញាតឱ្យប្រាកដថាធ្វើឱ្យការភ្ជាប់ទៅបណ្តាញសំលេងនិងសមត្ថភាពក្នុងការនិយាយព្រោះវាចាំបាច់សម្រាប់តន្ត្រីផ្សព្វផ្សាយបន្ថែម។
- bot គួរតែអាចអាននិងផ្ញើសារដូច្នេះកុំភ្លេចបើកដំណើរការជម្រើសទាំងនេះនៅក្នុងផ្នែកជាមួយនឹងសិទ្ធិជជែកជជែកតាមអត្ថបទ។ ជាការពិតអ្នកអាចផ្តល់សិទ្ធិទាំងអស់ក្នុងពេលតែមួយប៉ុន្តែវិធីសាស្រ្តនេះគឺមិនគួរឱ្យជឿជាពិសេសក្នុងករណីដែលអ្នកធ្វើឱ្យ bot សម្រាប់អ្នកប្រើប្រាស់ដ៏ធំមួយ។
- ដរាបណាការកំណត់ការអនុញ្ញាតត្រូវបានបញ្ចប់សូមចម្លងតំណសម្រាប់ការអនុញ្ញាតដំបូងនៃ bot នៅលើម៉ាស៊ីនមេពីព្រោះបើមិនដូច្នេះទេបន្ថែមវារហូតដល់វាប្រែចេញ។
- អនុវត្តតាមតំណនេះហើយជ្រើសរើសម៉ាស៊ីនមេតេស្តដែលអ្នកចង់ពិនិត្យមើល bot ។
- បញ្ជាក់ការចាប់យកនិងរង់ចាំព័ត៌មានអំពីការអនុញ្ញាតជោគជ័យ។
ឥឡូវអ្នកមានមើមមួយដែលមានថូខឹនប្លែកៗហើយ Bot ត្រូវបានបន្ថែមទៅម៉ាស៊ីនមេរួចហើយប៉ុន្តែខណៈពេលដែលមានរបៀបក្រៅបណ្តាញ។ ដើម្បីចាប់ផ្តើមវាវានឹងត្រូវអនុវត្តសកម្មភាពមួយចំនួនទៀតនៅលើកុំព្យួទ័រក្នុងតំបន់ព្រោះនៅពេលយើងមិនដាក់ឥវ៉ាន់ក្លែងបន្លំសម្រាប់ប្រតិបត្តិការក្រៅបណ្តាញ។
ជំហានទី 2: សកម្មភាពត្រៀម
សកម្មភាពត្រៀមរួមមានការបង្កើតថតឯកសារនិងឯកសារដែលត្រូវការការតំឡើងឧបករណ៍និងភាពអាស្រ័យសម្រាប់ពួកគេ។ គ្មានអ្វីដែលស្មុគស្មាញក្នុងរឿងនេះទេអ្នកគ្រាន់តែត្រូវការធ្វើសកម្មភាពនីមួយៗក្នុងវេនដោយប្រុងប្រយ័ត្នបន្ទាប់ពីមានកំហុសក្នុងដំណាក់កាលណាមួយ។
- បង្កើតថតឯកសារដែលមានឈ្មោះរបស់ bot ។ អ្នកអាចជ្រើសរើសកន្លែងណាមួយប៉ុន្តែថតផ្ទះរបស់អ្នកប្រើប្រាស់គឺសមបំផុតសម្រាប់បញ្ហានេះ។
- បង្កើតឯកសារពីរនៅក្នុងវា: "config.json" និង "index.js" ។ ដំបូងតំឡើងកំណត់រចនាសម្ព័ន្ធទូទៅរបស់ BOT - បុព្វបទរបស់វានិងនិមិត្តសញ្ញាតែមួយគត់និងក្នុងលំដាប់ទី 2 - កូដកម្មវិធីទាំងមូលដែលមានពាក្យបញ្ជានិងភារកិច្ចរួមនៃឧបករណ៍នេះ។
- សម្រាប់ការងាររបស់ bot នឹងត្រូវការ node.js. ឧបករណ៍នេះត្រូវបានរចនាឡើងដើម្បីចាប់ផ្តើមស្គ្រីបនៅលើកុំព្យូទ័រមូលដ្ឋាន។ សូមអនុវត្តតាមតំណខាងក្រោមហើយទាញយកកម្មវិធីដំឡើងរបស់វាសម្រាប់វីនដូ។
ទាញយក node.js ពីគេហទំព័រផ្លូវការ
- រំពឹងថានឹងមានក្នុងការទាញយកឯកសារដែលអាចប្រតិបត្តិបានប្រតិបត្តិរត់វានិងឆ្លងកាត់នីតិវិធីការដំឡើងសាមញ្ញ, ណែនាំដូចខាងក្រោមបានបង្ហាញនៅលើអេក្រង់។
- បន្ទាប់ពីនោះបើក "បន្ទាត់ពាក្យបញ្ជា" ងាយស្រួលសម្រាប់អ្នកឧទាហរណ៍ការបញ្ចូល CMD នៅក្នុង "រត់" ឧបករណ៍ប្រើប្រាស់ (វាចាប់ផ្តើមគ្រាប់ចុច Win បានរួមបញ្ចូលគ្នា + អាន) ។
- ដំឡើងម៉ូឌុលទៅធ្វើការជាមួយ API របស់ជម្លោះផ្ទៃក្នុងដែលត្រូវបានគេហៅថា "discord.js" ។ ដើម្បីធ្វើដូចនេះ, នៅក្នុងបង្អួចកុងសូលដែលបើកបញ្ចូល NPM ដំឡើង discord.js ffmpeg-ប្រព័ន្ធគោលពីរ opsscript YTDL-core --Save ហើយចុចបញ្ចូល - ដូច្នេះអ្នកទាំងអស់អាស្រ័យបន្ថែមភ្លាមចាំបាច់។
- រង់ចាំសម្រាប់ការជូនដំណឹងនៅលើអេក្រង់នៅលើការដំឡើងទទួលបានជោគជ័យដោយមិនបិទបង្អួចកុងសូលបច្ចុប្បន្ន។ ប្រសិនបើមានកំហុសលេចឡើងរៀនកូដរបស់ពួកគេនិងការប្រើម៉ាស៊ីនស្វែងរកដើម្បីស្វែងរកការសម្រេចចិត្តធ្វើការងារលើវេទិកាមួយនៅគេហទំព័រផ្លូវការឬ។
ជាលទ្ធផលថតផ្ទះរបស់អ្នកប្រើគួរតែបង្ហាញឯកសារដែលបានភ្ជាប់ជាមួយនឹងសមាសភាគ Node.js និងបានបន្ថែមបន្ទាប់ពីម៉ូឌុល។ ចាប់ផ្ដើមកុំព្យូទ័រដូច្នេះការ Bot មិនមានការលំបាកក្នុងការចាប់ផ្តើមបន្ទាប់មកសូមចូលទៅកាន់ជំហានបន្ទាប់។
ជំហានទី 3: ការកែសម្រួលឯកសារកំណត់រចនាសម្ព័ន្ធបត់
អ្នកបានដឹងរួចទៅហើយថានៅក្នុងឯកសារកំណត់រចនាសម្ព័ន្ធការ Bot ដែលបានបង្កើតនឹងមានទាំងអស់គូនៃជួរដេកនៃកូដដែលទទួលខុសត្រូវចំពោះបុព្វបទដែលប្រើ (ជានិមិត្តរូបមុនពេលចូលទៅពាក្យបញ្ជានៅលើម៉ាស៊ីនបម្រើ) និងជាសញ្ញាសម្ងាត់មួយគត់ដែលកំណត់កម្មវិធីនៅក្នុង API ។ ដើម្បីបំពេញសកម្មភាពបន្ថែមទៀតទាំងអស់, យើងសូមផ្ដល់អនុសាសន៍ឱ្យទាញយកកម្មវិធីដោយមានការគាំទ្រវាក្យសម្ព័ន្ធ JS កម្មវិធីនិពន្ធអត្ថបទកម្រិតខ្ពស់ឬប្រសិនបើនេះណាមិនត្រូវបានធ្វើពីមុនមួយ។ អត្ថបទលើតំណខាងក្រោមអ្នកនឹងអាចដើម្បីយល់ឱ្យបានច្បាស់ខ្លួនឯងជាមួយនឹងដំណោះស្រាយមួយដែលសមរម្យដែលអាចប្រើបាន។
អានបន្ថែម: ជ្រើសបរិស្ថានការអភិវឌ្ឍសម្រាប់ការសរសេរកម្មវិធី
បានឆាប់តាមដែលវាត្រូវបានដំឡើងនៅលើកុំព្យូទ័រនិងការត្រៀមខ្លួនជាស្រេចដើម្បីធ្វើការ, អ្នកអាចចាប់ផ្តើមដោយសុវត្ថិភាពដើម្បីកែសម្រួលឯកសារកំណត់រចនាសម្ព័ន្ធ, ការបញ្ចូលទិន្នន័យអ្នកប្រើនៅទីនោះ។
- រត់ការឯកសារ config.js តាមរយៈបរិស្ថានឬការអភិវឌ្ឍកម្មវិធីនិពន្ធអត្ថបទបញ្ចូលកូដដូចខាងក្រោម។
{
"បុព្វបទ": ""
"Token": "-toke របស់អ្នក"
}
ការផ្លាស់ប្តូរនៅក្នុងការបុព្វបទទៅពីរដងសម្រង់ចង់បានឬទុកឱ្យសញ្ញា។ ឧទាហរណ៍មួយនៃការពាក្យបញ្ជាដែលប្រើសញ្ញានេះមើលទៅដូចនេះ :! លេងមួយ។
- ចូលទៅកាន់វិបផតថល BOT របស់អ្នកនៅលើការអភិវឌ្ឍនេះរកឃើញសញ្ញាសម្ងាត់តែមួយគត់នៅទីនោះហើយចម្លងវា។
- បញ្ចូល-toke របស់អ្នកត្រួតពិនិត្យជំនួសវិញដោយមិនលុបសញ្ញាសម្រង់ទ្វេ។
- រក្សាទុកការផ្លាស់ប្តូរហើយបិទឯកសារនេះ។ ដោយវិធីនេះអ្នកអាចធ្វើសកម្មភាពដូចគ្នាតាមរយៈស្តង់ដារ "កុំព្យូទ័រយួរដៃ" ។
នៅលើសកម្មភាពនេះជាមួយនឹងឯកសារកំណត់រចនាសម្ព័ន្ធត្រូវបានបញ្ចប់វាមិនមានអ្នកត្រូវចេញវេជ្ជបញ្ជាបន្ទាត់តែមួយនៃកូដទេ។ បិទវាដោយមិនចាំបាច់ភ្លេចរក្សាទុកការកែប្រែដែលបានធ្វើហើយបន្តសរសេរបន្ថែមទៀត bot លេងភ្លេង។
ជំហានទី 4: ការជំនុំជម្រះក្តីចាប់ផ្តើមបុរ្ផា
ដំបូងយើងត្រូវប្រាកដថា bot ជាទូទៅកំពុងដំណើរការលើម៉ាស៊ីនមេហើយចូលទៅកាន់របៀប Online វាចាំបាច់ត្រូវសរសេរផ្នែកសំខាន់របស់វានៃលេខកូដទៅ index.js ហើយបន្ទាប់មកប្រើ node.js ដើម្បីចាប់ផ្តើម។
- តាមរយៈបរិស្ថានអភិវឌ្ឍន៍ឬកម្មវិធីនិពន្ធអត្ថបទដែលបានជ្រើសរើសបើកឯកសារដែលបានរៀបរាប់សម្រាប់កែសម្រួល។
- បញ្ចូលប្លុកកូដដែលទទួលខុសត្រូវចំពោះការតំឡើងភាពអាស្រ័យនិងបង្ហាញម៉ូឌុលដែលបានប្រើ:
const discult = តម្រូវ ('discult.js');
const {
បុព្វបទ,
ថូខឹន
} = ត្រូវការ ('./ config.json');
const ytdl = ត្រូវការ ('YTDL-Core');
- ដោយមានជំនួយពីថូខឹនដែលបានបញ្ជាក់ពីមុនបង្កើតអតិថិជននិងការចូលដែលត្រូវបានអនុវត្តដោយបញ្ចូលតែបន្ទាត់សាមញ្ញពីរប៉ុណ្ណោះ:
contin comment = ការធ្វើឱ្យខូចទ្រង់ទ្រាយថ្មី ();
client.login (ថូខឹន);
- វានៅតែគ្រាន់តែបញ្ជាក់បន្ទាត់មូលដ្ឋានចុងក្រោយសម្រាប់ការស្តាប់ bot ។
Client.once ("ត្រៀមខ្លួន", () => {
កុងសូល .log (ត្រៀមខ្លួន! ');
});
Client.once ('ការភ្ជាប់ឡើងវិញ', () => {
កុងសូល ('ការភ្ជាប់ឡើងវិញ!');
});
អតិថិជន ('ផ្តាច់', () => {
កុងសូល ('ផ្តាច់!');
});
- ពង្រីកម៉ឺនុយ "ឯកសារ" ហើយរក្សាទុកការផ្លាស់ប្តូរដែលបានធ្វើ។
- ដំណើរការកុងសូលម្តងទៀតតាមរបៀបងាយស្រួល។
- បញ្ចូលពាក្យបញ្ជា NoDeX.JS ដើម្បីចាប់ផ្តើមស្គ្រីប bot ។
- ប្រសិនបើឯកសាររបស់វាមិនមាននៅក្នុងថតផ្ទះរបស់អ្នកប្រើបន្ទាប់ពីថ្នាំងនឹងត្រូវបញ្ជាក់ឱ្យបានពេញលេញអនុញ្ញាតឱ្យពួកគេ។
- ការបើកដំណើរការដោយជោគជ័យនៃ bot ត្រូវបានចង្អុលបង្ហាញដោយសិលាចារឹកដែលលេចចេញមក "រួចរាល់ហើយ!" ។
- បើកការខ្វែងគំនិតគ្នាហើយត្រូវប្រាកដថា Bot បានឈានដល់ស្ថានភាពរបស់ "Online" ។
ជំហានទី 5 ៈការសរសេរលេខកូដសំខាន់នៃការតន្រ្តី BOT
ដំណើរការស្មុគស្មាញបំផុតនៅតែមាន - សរសេរកូដមូលដ្ឋានសម្រាប់ការតន្រ្តី។ មានបញ្ជីភារកិច្ចដែលវាត្រូវធ្វើ: ការអានសារនិងដំណើរការពាក្យបញ្ជានិយមន័យនៃឈ្មោះបទចម្រៀងឬអាសយដ្ឋានរបស់វាភ្ជាប់ទៅនឹងឆានែលសំលេងនិងការចាក់សារថ្មី។ ការអនុញ្ញាតលើ bot ទាំងអស់នេះដូច្នេះអ្នកគ្រាន់តែត្រូវបញ្ជាក់ពីសកម្មភាពដោយប្រើមុខងារ JavaScript ដែលត្រូវបានអនុវត្តនៅក្នុងឯកសារ "index.js" ដូចគ្នា។
បន្ថែមមុខងារសាមញ្ញមួយដើម្បីអានសារ:
cler.on ('សារ', សារ async => {
}
វាមានពីរខ្សែតែពីរខ្សែប៉ុណ្ណោះប៉ុន្តែវានឹងអនុញ្ញាតឱ្យ bot យកសំណួរផ្ទាល់ខ្លួននិងដំណើរការបានត្រឹមត្រូវ។ វាអាចនិយាយបានថានេះគឺជាក្រុមមួយក្នុងចំណោមក្រុមសំខាន់បំផុតសម្រាប់រូបយន្តនៃប្រភេទណាមួយ។ ត្រូវប្រាកដថាបន្ថែមការមិនអើពើនឹងសារពីរូបយន្តផ្សេងទៀតដោយបញ្ចូល
ប្រសិនបើ (សារ។ អឹយុទ្ធ) ត្រឡប់មកវិញ;
នេះជៀសវាងការប៉ះទង្គិចខណៈពេលប្រើរូបយន្តជាច្រើននៅលើម៉ាស៊ីនមេក្នុងពេលដំណាលគ្នា។ បន្ទាប់មកទៀតវាចាំបាច់ក្នុងការពិនិត្យបុព្វបទដូច្នេះ bot បានទទួលយកក្រុមឬត្រឡប់វាវិញ។
ប្រសិនបើ (! សារ .content.startswith (បុព្វបទ)) ត្រឡប់មកវិញ;
ការត្រួតពិនិត្យពាក្យបញ្ជាដែលបានដាក់ឱ្យដំណើរការត្រូវបានអនុវត្តដោយប្រើសាមញ្ញប្រសិនបើប្រតិបត្តិករហើយការរចនាក្នុងករណីរបស់យើងមើលទៅដូចនេះ:
បង្កើត serverqueue = Lines.Get (សារ .guild.id);
ប្រសិនបើ (សារ។ ខា្រស់នឺរ .startswith (`$ {បុព្វបទ}) {
ប្រតិបត្តិ (សារ, serverqueue);
ត្រឡប់;
} ផ្សេងទៀតប្រសិនបើ (សារ .content.startswith (`$ {បុព្វបទ} រំលង ')) {
រំលង (សារ, serverqueue);
ត្រឡប់;
} ផ្សេងទៀតប្រសិនបើ (សារ .content.startswith (`$ {បុព្វបទ} ឈប់")) {
បញ្ឈប់ (សារ, serverqueue);
ត្រឡប់;
} ផ្សេងទៀត {
សារ .channel.Send ('អ្នកត្រូវតែប្រើពាក្យបញ្ជាដែលមានស្រាប់!')
}
សូមកត់សម្គាល់ថាមុខងារផ្ញើ ('') អនុញ្ញាតិឱ្យផ្ញើសារទៅអ្នកប្រើប្រាស់ប្រសិនបើភ្លាមៗចូលក្នុងពាក្យបញ្ជាមិនដំណើរការ។ សារនេះអ្នកអាចកែសម្រួលផ្លាស់ប្តូរសិលាចារឹកក្នុងសម្រង់។
ឥឡូវសត្វបុរាណបានរៀនទទួលយកពាក្យបញ្ជាប៉ុន្តែរហូតដល់វាអាចធ្វើអន្តរកម្មជាមួយពួកគេបានព្រោះសកម្មភាពមិនត្រូវបានបញ្ជាក់។ ដំបូងបន្ថែមពាក្យបញ្ជាចាក់ដែលទទួលខុសត្រូវក្នុងការចាក់សារថ្មី។ សម្រាប់វាដែលមានអារេមួយត្រូវការជាចាំបាច់ជាមួយទម្រង់បែបបទខាងក្រោម:
បញ្ចូលជួរ = ផែនទីថ្មី ();
គាត់ផ្ញើពាក្យបញ្ជាទាំងអស់នៅក្នុងជួរហើយធ្វើឱ្យបទចម្រៀងលេងតែនៅពេលដែលមួយមុនបញ្ចប់។ បន្ទាប់មកទៀតវាចាំបាច់ក្នុងការបង្កើតមុខងារដែលនឹងពិនិត្យមើលថាតើអ្នកប្រើភ្ជាប់នឹងឆានែលសំលេងនិងថាតើ bot គឺជាសិទ្ធិដែលត្រូវគ្នាដែរឬទេ។
Async Fundife ប្រតិបត្តិ (សារ, serverqueue) {
const args = សារ។ ការចុច ('');
const voicechannel = សារ .member.voiceChannel;
ប្រសិនបើ (! voicechannel) ត្រឡប់សារ .channel.send ('ដើម្បីស្តាប់តន្ត្រីអ្នកត្រូវមានឆានែលសំលេង!');
សិទ្ធិ Const = voicechannel.permississions (សារ .client.user);
ប្រសិនបើ (! សិទ្ធិ .has ('ភ្ជាប់') ||! សិទ្ធិ! សិទ្ធិ .has ('និយាយ')) {
ត្រឡប់ reping.channel.send ('ខ្ញុំត្រូវការការអនុញ្ញាតឱ្យចូលរួមនិងនិយាយប្រកាសសំលេងរបស់អ្នក!');
}
}
សកម្មភាពបន្ទាប់ - ការភ្ជាប់បណ្ណាល័យ YTDL ពីព្រោះ bot នេះនឹងអានឈ្មោះបទចម្រៀងនៅលើតំណភ្ជាប់ពីយូធូបបន្ទាប់ពីនោះវាត្រូវបានចាក់នៅលើម៉ាស៊ីនមេ។ វានឹងចំណាយពេលដើម្បីបញ្ចូលបំណែកនៃការបញ្ចូលកូដតូចមួយ។
constinfo = រង់ចាំ YTDL.GETINFO (អាគុយម៉ង់ [1]);
song song = {
ចំណងជើង: songinfo.title,
URL: Songinfo.video_url,
};
ប្លុកកូដបន្ទាប់នឹងអនុញ្ញាតឱ្យអ្នកយល់ប្រសិនបើមានបទចម្រៀងនៅក្នុងជួរឬអ្នកអាចភ្ជាប់ទៅឆានែលសំលេងភ្លាមៗហើយចាប់ផ្តើមចាក់ឡើងវិញ។
ប្រសិនបើ (! sermqueue) {
} ផ្សេងទៀត {
serverqueue.songs.push (បទចម្រៀង);
កុងសូល (Serverqueue.Songs);
ត្រឡប់ yours.Channel.send (`$ {song.title} ត្រូវបានបន្ថែមទៅជួរ!`);
}
បន្ទាប់មានភាពស្មុគស្មាញបន្តិចសម្រាប់អ្នកសរសេរកម្មវិធីថ្មីដែលបន្ថែមបទចម្រៀងមួយទៅនឹងអារេមួយហើយធ្វើឱ្យដូចគ្នារាល់ពេលដែលអ្នកចូល! លេងជួរហើយជ្រើសរើសសកម្មភាពត្រឹមត្រូវ។ យកចិត្តទុកដាក់លើយោបល់ដែលបានបង្ហាញដែលអនុញ្ញាតឱ្យអ្នកដោះស្រាយជាមួយ subtleties ទាំងអស់។
// បង្កើតកិច្ចសន្យាសម្រាប់ជួរ
const queucontrct = {
TextChannel: សារ .cchannel
voicechannel: voicechancel,
ការតភ្ជាប់: មោឃៈ
ចម្រៀង: [],
កម្រិតសំឡេង: 5,
ការលេង: ពិត,
};
// កំណត់ជួរជាមួយកិច្ចសន្យារបស់យើង
ជួរ (សារ .guild.id, queuecontrt);
// បញ្ចូលសមាសភាពទៅក្នុងចម្រៀងរបស់យើង
QuueContrius.Songs.push (បទចម្រៀង);
សាកល្បង {
// នៅទីនេះយើងកំពុងព្យាយាមចូលរួមការជជែកជាសំលេងហើយរក្សាទុកការតភ្ជាប់នៅក្នុងវត្ថុ
ការតភ្ជាប់ var = រង់ចាំ voicechannel.join ();
Queuecontriesc.connection = ការតភ្ជាប់;
// ការហៅមុខងារចាក់ឡើងវិញដើម្បីចាប់ផ្តើមបទចម្រៀង
Play (សារ .guild, queucontrigy.songs [0]);
} ចាប់ (ERR) {
// បង្ហាញសារកំហុសប្រសិនបើ bot មិនអាចចូលរួមការជជែកជាសំលេងបានទេ
កុងសូល (ERR);
LIEDH.DELETE (សារ .guild.id);
ត្រឡប់ ere.Channel.Send (ERR);
}
ជាមួយនឹងជួរអ្វីគ្រប់យ៉ាងគឺច្បាស់ប៉ុន្តែនៅតែមិនលេងបទចម្រៀងព្រោះមិនមានកិច្ចការសម្រាប់មុខងារលេងទេ។ ដើម្បីធ្វើដូចនេះនៅក្នុងក្រមវាចាំបាច់ក្នុងការបន្ថែមរចនាសម្ព័ន្ធ
មុខងារលេង (Guild, ចម្រៀង) {
បង្កើត serverqueue = Lines.Get (Guild.ID);
ប្រសិនបើ (! បទចម្រៀង) {
serverqueue.voicechannel.leve.com;
ជួរជម្រុះ (Guild.ID);
ត្រឡប់;
}
}
ការលេងចាប់ផ្តើមដោយប្រើមុខងារ Playtream () មុខងារនិងតំណដែលបានបញ្ជាក់ទៅបទ។
const condatcher = serverqueue.connection.playteam (ytdl (song.url))
.on ('ចុងបញ្ចប់', () => {
កុងសូលឡុក ('តន្ត្រីចប់ហើយ!');
// ដកបទចម្រៀងដែលបានបញ្ចប់ចេញពីជួរ
serverqueue.songs.shift ();
// ជាថ្មីម្តងទៀតបណ្តាលឱ្យមានមុខងារចាក់ឡើងវិញជាមួយនឹងបទចម្រៀងខាងក្រោម
លេង (Guild, Serverqueueongs [0]);
})
.on ('កំហុស', កំហុស => {
កុងសូល - កំហុស);
});
Dissatcher.setvolumelOmarithmic (serverqueue.volume / 5);
ប្រសិនបើអ្នកចង់បន្ថែមមុខងាររំលងបទចម្រៀងឧទាហរណ៍នៅពេលអ្នកសំរេចចិត្តលេងបញ្ជីចាក់សូមថែរក្សាពាក្យបញ្ជាសមរម្យហើយបន្ទាប់មកបន្ថែមបំណែកបែបនេះ:
មុខងាររំលង (សារភាសា serverqueue) {
ប្រសិនបើ (! Message.Member.VoiceCeCeCeCeCannel) ត្រឡប់សារ .channel.send ('អ្នកគួរតែនៅក្នុងឆានែលសំលេងដើម្បីបញ្ឈប់តន្ត្រី!');
ប្រសិនបើ (! serverqueue) ត្រឡប់ reping.channel.send ('មិនមានបទចម្រៀងដែលខ្ញុំអាចរំលងបានទេ!');
serverqueueu.connection.dispatcher.end ();
}
ប្រមាណជាគ្រោងការណ៍ដូចគ្នានេះក៏ធ្វើការមុខងារបញ្ឈប់ផងដែរប៉ុន្តែប្លុកដែលមានលេខកូដទទួលបាននូវរូបរាងខុសគ្នាបន្តិចបន្តួច:
មុខងារឈប់ (សារ, serverqueue) {
ប្រសិនបើ (! សារព័ត៌មាន .member.voicechannel) ត្រឡប់សារ .channel.send ('
អ្នកត្រូវតែនៅក្នុងឆានែលសំលេងដើម្បីបញ្ឈប់តន្ត្រី! ');
serverqueue.songs = [];
serverqueueu.connection.dispatcher.end ();
}
សូមពិចារណាថាព័ត៌មានដែលបានបង្ហាញខាងលើគឺសមរម្យសម្រាប់អ្នកប្រើដែលស៊ាំជាមួយភាសា JavaScript រួចហើយឬបានចូលរួមក្នុងការសិក្សាហើយសម្រេចចិត្តបង្កើតចង្វាក់ភ្លេង។ ប្រសិនបើអ្នកមិនមែនជាម្ចាស់ជំនាញទូទៅនិងប្លុកដែលបានបញ្ជាក់ជាមួយលេខកូដដែលអ្នកមិននិយាយអ្វីទាំងអស់គ្រាន់តែបញ្ចូលកូដប្រភពទាំងមូលទៅក្នុងឯកសារជំនួសសារពី bot ទៅរុស្ស៊ី (ពួកគេនៅក្នុងការដកស្រង់) និងរក្សាទុកឯកសារ ការផ្លាស់ប្តូរ។ លេខកូដប្រភពទាំងអស់មានប្រភេទនេះ:
const discult = តម្រូវ ('discult.js');
const {
បុព្វបទ,
ថូខឹន
} = ត្រូវការ ('./ config.json');
const ytdl = ត្រូវការ ('YTDL-Core');
contin comment = ការធ្វើឱ្យខូចទ្រង់ទ្រាយថ្មី ();
បញ្ចូលជួរ = ផែនទីថ្មី ();
Client.once ("ត្រៀមខ្លួន", () => {
កុងសូល .log (ត្រៀមខ្លួន! ');
});
Client.once ('ការភ្ជាប់ឡើងវិញ', () => {
កុងសូល ('ការភ្ជាប់ឡើងវិញ!');
});
អតិថិជន ('ផ្តាច់', () => {
កុងសូល ('ផ្តាច់!');
});
cler.on ('សារ', សារ async => {
ប្រសិនបើ (សារ។ អឹយុទ្ធ) ត្រឡប់មកវិញ;
ប្រសិនបើ (! សារ .content.startswith (បុព្វបទ)) ត្រឡប់មកវិញ;
បង្កើត serverqueue = Lines.Get (សារ .guild.id);
ប្រសិនបើ (សារ។ ខា្រស់នឺរ .startswith (`$ {បុព្វបទ}) {
ប្រតិបត្តិ (សារ, serverqueue);
ត្រឡប់;
} ផ្សេងទៀតប្រសិនបើ (សារ .content.startswith (`$ {បុព្វបទ} រំលង ')) {
រំលង (សារ, serverqueue);
ត្រឡប់;
} ផ្សេងទៀតប្រសិនបើ (សារ .content.startswith (`$ {បុព្វបទ} ឈប់")) {
បញ្ឈប់ (សារ, serverqueue);
ត្រឡប់;
} ផ្សេងទៀត {
សារ .channel.Send ('អ្នកត្រូវបញ្ចូលពាក្យបញ្ជាត្រឹមត្រូវ!')
}
});
Async Fundife ប្រតិបត្តិ (សារ, serverqueue) {
const args = សារ។ ការចុច ('');
const voicechannel = សារ .member.voiceChannel;
ប្រសិនបើ (! voicechannel) ត្រឡប់ yours.channel.send ('អ្នកត្រូវមាននៅក្នុងឆានែលសំលេងដើម្បីលេងភ្លេង!');
សិទ្ធិ Const = voicechannel.permississions (សារ .client.user);
ប្រសិនបើ (! សិទ្ធិ .has ('ភ្ជាប់') ||! សិទ្ធិ! សិទ្ធិ .has ('និយាយ')) {
ត្រឡប់ ere.channel.send ('ខ្ញុំត្រូវការសិទ្ធិចូលរួមនិងនិយាយនៅក្នុងឆានែលសំលេងរបស់អ្នក!');
}
constinfo = រង់ចាំ YTDL.GETINFO (អាគុយម៉ង់ [1]);
song song = {
ចំណងជើង: songinfo.title,
URL: Songinfo.video_url,
};
ប្រសិនបើ (! sermqueue) {
const queucontrct = {
TextChannel: សារ .cchannel
voicechannel: voicechancel,
ការតភ្ជាប់: មោឃៈ
ចម្រៀង: [],
កម្រិតសំឡេង: 5,
ការលេង: ពិត,
};
ជួរ (សារ .guild.id, queuecontrt);
QuueContrius.Songs.push (បទចម្រៀង);
សាកល្បង {
ការតភ្ជាប់ var = រង់ចាំ voicechannel.join ();
Queuecontriesc.connection = ការតភ្ជាប់;
Play (សារ .guild, queucontrigy.songs [0]);
} ចាប់ (ERR) {
កុងសូល (ERR);
LIUNT.DELETE (សារ .guild.id);
ត្រឡប់ ere.Channel.Send (ERR);
}
} ផ្សេងទៀត {
serverqueue.songs.push (បទចម្រៀង);
កុងសូល (Serverqueue.Songs);
ត្រឡប់ yours.Channel.send (`$ {song.title} ត្រូវបានបន្ថែមទៅជួរ!`);
}
}
មុខងាររំលង (សារភាសា serverqueue) {
ប្រសិនបើ (! Message.Member.voiceCeCeCeCeCannel) ត្រឡប់ younce.Channel.send ('អ្នកត្រូវតែនៅក្នុងឆានែលសំលេងដើម្បីបញ្ឈប់តន្ត្រី!');
ប្រសិនបើ (! serverqueue) ត្រឡប់ reping.channel.send ('មិនមានបទចម្រៀងដែលខ្ញុំអាចរំលងបានទេ!');
serverqueueu.connection.dispatcher.end ();
}
មុខងារឈប់ (សារ, serverqueue) {
ប្រសិនបើ (! Message.Member.voiceCeCeCeCeCannel) ត្រឡប់ younce.Channel.send ('អ្នកត្រូវតែនៅក្នុងឆានែលសំលេងដើម្បីបញ្ឈប់តន្ត្រី!');
serverqueue.songs = [];
serverqueueu.connection.dispatcher.end ();
}
មុខងារលេង (Guild, ចម្រៀង) {
បង្កើត serverqueue = Lines.Get (Guild.ID);
ប្រសិនបើ (! បទចម្រៀង) {
serverqueue.voicechannel.leve.com;
ជួរជម្រុះ (Guild.ID);
ត្រឡប់;
}
const condatcher = serverqueue.connection.playteam (ytdl (song.url))
.on ('ចុងបញ្ចប់', () => {
កុងសូលឡុក ('តន្ត្រីបញ្ចប់!');
serverqueue.songs.shift ();
លេង (Guild, Serverqueueongs [0]);
})
.on ('កំហុស', កំហុស => {
កុងសូល - កំហុស);
});
Dissatcher.setvolumelOmarithmic (serverqueue.volume / 5);
}
client.login (ថូខឹន);
នៅពេលបញ្ចប់វាជាការល្អប្រសើរជាងមុនក្នុងការចាប់ផ្តើម bot ឡើងវិញបន្ទាប់ពីនោះអ្នកអាចចូលទៅកាន់ម៉ាស៊ីនបម្រើរបស់អ្នក, ភ្ជាប់ទៅឆានែលសំលេងហើយបញ្ចូលពាក្យបញ្ជាណាមួយនៃអន្តរកម្មពិនិត្យមើលរបៀបប្រតិកម្មទៅនឹង bot នេះ។
ប្រសិនបើវ៉ារ្យ៉ង់ខាងលើរបស់ bot មិនសមនឹងអ្នកអ្នកអាចរកបានកូដប្រភពនៅលើ GitHub ដូចគ្នាហើយចម្លងវាទៅកុំព្យូទ័ររបស់អ្នក។ គោលការណ៍នៃការចុះឈ្មោះនិងការបើកដំណើរការនៅតែដដែលដូច្នេះបើចាំបាច់កែសម្រួលកូដដែលបានបញ្ចប់ហើយបន្ទាប់មកបន្តសាកល្បង Bot នេះ។
នៅក្នុងអត្ថបទនេះយើងមិនប៉ះពាល់ដល់ការហូរចេញនៃ bot លើការបង្ហោះចែកចាយវាក្នុងចំនោមអ្នកប្រើប្រាស់ដែលបង្កើតជារូបតំណាងនិងការប្រើប្រាស់ទីតាំងបើកចំហពីកន្លែងដែលវាអាចត្រូវបានអនុញ្ញាត។ ទាំងអស់នេះគឺជាដំណើរការដាច់ដោយឡែកដែលគួរចូលរួមតែនៅពេលដែលអ្នកបានផ្តល់កិត្តិយសជំនាញរបស់អ្នកក្នុងការបង្កើតរូបយន្តហើយត្រៀមខ្លួនចែកចាយគម្រោងនៅលើបណ្តាញ។