Музыка үчүн ботторду кантип жасоого болот

Anonim

Музыка үчүн ботторду кантип жасоого болот

Бул макалада сиз фрисста музыка ойноо үчүн бот түзүү жөнүндө сүйлөшөбүз. Сиз тапшырылган кодду толугу менен көчүрүп алсаңыз болот, эгер сиз JavaScript көндүмдөрүн өзүңүзгө таандык болсоңуз, анда өзүңүзгө түзөтсөңүз болот. Бот биз тарабынан жаратылган, бирок айрым этаптарда колдонуучу ар кандай көйгөйлөргө туш болушу мүмкүн, ошондуктан биз сизге көрсөтмөлөрдү гана эле эмес, экран каталарында гана көрүнүп турушубуз керек болсо, ошондой эле экрандын каталарында көрүнүп турушубуз керек болсо, ошондой эле экрандагы коддордо да бар.

Эгер бул материал сиз үчүн өтө татаал же башка себептерден улам жарактуу эмес экендигин, музыканы ойноо үчүн даяр ботторду колдонуңуз. Төмөнкү шилтеме жөнүндө макала ушул жөнүндө толук маалыматты таба аласыз жана сиз тапшырманы аткара аласыз.

Кененирээк:

Ардалардагы серверге музыкалык бот кошуу

Дискорддогу bot аркылуу музыка ойнотуу

1-кадам: Жаңы колдонмону түзүү

Жарактан ар бир бот иштеп чыгуучулар үчүн расмий порталга каттоодон өтүшү керек. Ошентип, сиз уруксаттар жана боттун жалпы жүрүм-туруму менен байланышкан бардык керектүү шарттарга жете аласыз, сиз анын уруксаты менен өзүнүн уруксатын жеке серверде көчүрүп, буйруктарды андан ары өнүктүрүү үчүн керектүү уникалдуу энбелгилди колдоно аласыз.

Disctor иштеп чыгуучу порталынын расмий сайтына өтүңүз

  1. Жогоруда айтылган шилтемени иштеп чыгуучулар үчүн порталдын башкы баракчасын ачуу үчүн, Discomcores үчүн жеке эсепке кириңиз жана жаңы тиркеме түзүү үчүн "Жаңы өтүнмө" баскычын чыкылдатыңыз.
  2. Киришүүдөгү музыкалык бот түзүү үчүн жаңы тиркемени каттоо үчүн барыңыз

  3. Анын ысымын киргизип, уникалдуулукту эске ал, анткени ошол эле ысым менен көптөгөн боттор бар болсо, анда аны түзүү мүмкүн эмес - аны күйгүзүү жөнүндө кабарлоо жөнүндө кабарланды.
  4. Версияда музыкалык бот түзүү үчүн жаңы тиркемени каттоодо атын киргизиңиз

  5. Аяктоодон кийин, сайтта меню ачыңыз жана "Бот" категориясын тандаңыз.
  6. Арзанда музыкалык бот түзүү үчүн жаңы колдонмонун компоненттерин туташтыруу үчүн баруу

  7. "Build-a bot" кылына карама-каршы "Бот кошуу" баскычын чыкылдатыңыз.
  8. Кирешеде музыкалык бот түзүү үчүн жаңы колдонмонун компоненттери жаңы колдонмонун компоненттери

  9. Тандалган арыз үчүн боттун кошуусүн ырастаңыз.
  10. Арзандандагы музыкалык бот жаратуу үчүн компоненттерди жаңы колдонмого тиркеме тастыктоо

  11. Тааныш меню аркылуу, «Оут2».
  12. Версияда музыкалык бот түзүү үчүн жөндөөлөр жөнүндө арызга барыңыз

  13. Бул бөлүм Боттун жалпы параметрлерине жана анын уруксаты үчүн жооп берет. "SCOPES" блогу, "Бот" абзацын белгилеңиз.
  14. Арыздардагы музыкалык бот түзүү үчүн арыздын колдонулушун тандап алыңыз

  15. Уруксаттар тизмесинде үн каналдарына туташууну жана сүйлөө жөндөмүн жандандырууну унутпаңыз.
  16. Дискорддук бот түзүүгө арызды түзүүдө үн каналынын уруксаттарын издөө

  17. Бот кабарларды окуп жана жөнөтө алышы керек, андыктан бул параметрлерди тексттик чат уруксаты менен ушул параметрлерди иштетүүнү унутпаңыз. Албетте, сиз бардык уруксаттарды бир эле учурда бере аласыз, бирок бул ыкма укмуштуу, айрыкча, сиз массалык колдонуучу үчүн бот жасасаңыз, анда бул ыкма укмуштуу учурларда.
  18. Арзанда музыкалык бот түзүүгө арызды түзүүдө тексттик каналдын уруксаттарын издөө

  19. Уруксат берүү жөнгө салынгандан кийин, серверде боттун биринчи уруксаты үчүн шилтемени көчүрүңүз, себеби, антпесе, башкача кошулганга чейин кошуңуз.
  20. Версияда музыкалык бот жаратуу үчүн шилтеме куралдарына уруксат берүү

  21. Бул шилтемени аткарыңыз жана ботту текшергиңиз келген тест серверин тандаңыз.
  22. Биринчи уруксат, шилтемеден кийин, ар кандай музыкалык бот түзүү

  23. Ийгиликтүү уруксат жөнүндө маалыматты тартып, ырастаңыз жана маалыматты күтө туруңуз.
  24. Ийгиликке жетишкенден кийин ийгиликтүү уруксат

Азыр сизде уникалдуу энбелги бар бот бар, ал эми бот серверге кошулган, бирок оффлайн режиминде. Аны баштоо үчүн, ал жергиликтүү компьютерде бир нече иш-аракеттерди жасашы керек, анткени биз оффлайн режиминде облигацияны пайдаланууну түшүрбөйбүз.

2-кадам: Даярдоо аракеттери

Даярдоо иш-аракеттерине керектүү каталогдорду жана файлдарды түзүү, алар үчүн куралдарды жана көз карандылыкты орнотуу кирет. Бул учурда татаал эч нерсе жок, сиз ар бир иш-аракетти кандайдыр бир этапта кылдаттык менен кылдаттык менен жасашыңыз керек.

  1. Бот аты менен папканы түзүңүз. Сиз каалаган жерди тандай аласыз, бирок колдонуучуга үй папкасы буга ылайыктуу.
  2. Каршылаштагы музыкалык бот түзүү үчүн бажы папкасын кошуу

  3. Ага эки файлды түзүңүз: "config.json" жана "Index.js". Алгач ботко жалпы конфигурацияны орнотуу - анын префикс жана уникалдуу энбелгилер, экинчисинде бул куралдын буйруктары жана жалпы тапшырмалар менен программалык кодекс.
  4. Арзандандагы музыкалык бот түзүү үчүн файлдарды бажы папкасына кошуу

  5. Боттун иши үчүн node.js керек болот. Бул курал жергиликтүү компьютердеги сценарийлерди баштоо үчүн иштелип чыккан. Төмөнкү шилтемени аткарыңыз жана Windows үчүн орнотуучу жүктөп алыңыз.

    Node.js расмий сайтынан жүктөп алыңыз

  6. Арзанда музыкалык бот жаратуу үчүн компонентти жүктөө үчүн

  7. Аткарылуучу файлды аткарылбай калууну күтөт, аны иштетип, экранда көрсөтүлгөн көрсөтмөлөрдөн кийин жөнөкөй орнотуу процессин өткөрүүнү күтөбүз.
  8. Тазалоону иштеп чыгуу жана орнотуу үчүн, диспрасттагы музыкалык бот жаратуу

  9. Андан кийин, "буйрук сабын" сиз үчүн ыңгайлуу "буйрук сабын" ачып, "чуркоо" коммуналдык кызматы үчүн CMDге кирүү (ал жеңишке жетет +, ачкычтардын айкалышын баштайт).
  10. Дискорддогу музыкалык бот түзүү үчүн буйрук линиясын иштетүү

  11. Модулду "Discor.js" деп аталган таблица API менен иштөө үчүн модулду орнотуңуз. Бул үчүн, консол терезесинде ачылып, NPM орнотуу Discor.js орнотуу Discor.js FFMPEG-Binares opsscripcripcript ytdl-core - Enter баскычын басыңыз, ошондуктан сиз дароо бардык керектүү көз карандылыктарды кошуңуз.
  12. Кошумча модулдар араздашууда музыкалык бот жаратуу үчүн буйрукту орнотуңуз

  13. Учурдагы консолдун терезесин жабылбастан, ийгиликтүү орнотуу боюнча экранда эскертүүлөрдү күтө туруңуз. Эгерде каталар пайда болсо, алардын кодун билип, форумдардагы жумушчу чечимди табуу үчүн издөө тутумун колдонуңуз.
  14. Арзанда музыкалык бот жаратуу үчүн кошумча модулдарды орнотуу процесси

Натыйжада, колдонуучунун үй папкасы node.js компоненти менен байланышкан файлдар пайда болушу керек жана модулдан кийин кошулат. Бот кыйынчылык болбош үчүн, компьютерди өчүрүп күйгүзүңүз, андан кийин кийинки кадамга өтүңүз.

3-кадам: Боттун конфигурациялоо файлын түзөт

Түзүлгөн бот конфигурациялоо файлында мурунтан эле колдонулган префикс үчүн жооптуу болгон коддун бир жуптары (серверде буйрукту киргизүүдөн мурун) жана API'да колдонмону аныктаган уникалдуу энбелги. Бардык аракеттерди аткаруу үчүн, биз JS синтаксисин колдоосу же андан аркы текст редактору менен программаны жүктөп берүүнү сунуштайбыз, эгерде буга чейин аткарылбаса. Төмөнкү шилтеме жөнүндө макала өзүңүздү ылайыктуу чечимдер менен тааныша аласыз.

Кененирээк маалымат: Программалоо үчүн өнүгүү чөйрөсүн тандоо

Компьютерде орнотулган жана иштөөгө даяр кезде, сиз конфигурация файлын түзүп, колдонуучунун маалыматын киргизе баштасаңыз болот.

  1. Текст редактору же өнүгүү чөйрөсү аркылуу config.js файлын иштетиңиз, төмөндөгү кодду киргизиңиз.

    {

    "Префикс": "!",

    "Токен": "Сенин -беч

    }

    Конфигурация файлын түзөтүүдө, конфигурация файлын түзөтүүдө

    Префикти өзгөртүү каалаган учурда, каалаган же илеп калтырыңыз. Бул белгини колдонуп, буйруктун мисалына окшош :! Ойноо.

  2. Өнүгүү порталы боюнча ботуңузга барыңыз, ошол жерде уникалдуу энбелги табыңыз жана аны көчүрүңүз.
  3. Оңдоп-түзөөдөгү музыкалык бот түзүү үчүн уникалдуу энбелгилерди көчүрүү

  4. Кош тырмакчаны жок кылбастан, анын ичиндеги текшерүү инспекциясын салыңыз.
  5. Оңдоп-түзөөдөгү музыкалык бот түзүү үчүн уникалдуу энбелгилердин ордуна уникалдуу энбелгилөөнү алмаштыруу

  6. Өзгөртүүлөрдү сактап, бул файлды жабыңыз. Айтмакчы, сиз ошол эле иш-аракетти "дептер" деп атоого болот.
  7. Текстти таркатуу үчүн текст редакторду колдонуп, диспрасттагы музыкалык бот түзүү үчүн

Конфигурация файлы менен бул иш-чаралар аяктады, мындан ары коддун бир сызыгын белгилөө керек. Түз эгиддерди сактап калууну унутпаңыз, жана музыканы ойноо үчүн андан ары бот жазуудан ары-бери жазыңыз.

4-кадам: Бот баштоо

Биринчиден, бот жалпысынан серверде иштеп жаткандыгын жана Интернеттеги режимге баратып, коддун негизги бөлүгүн Индекстин инсекке киргизүү үчүн, андан кийин node.js колдонушубуз керек болот.

  1. Өнүгүү чөйрөсү же тандалган текст редактору аркылуу, аталган файлды түзөтүү үчүн ачыңыз.
  2. Версияда музыкалык бот түзүү үчүн код жазууну ачуу

  3. Көз карандылыкты орнотуу үчүн жооптуу, колдонулган модулдарды көрсөтөт:

    Const Discord = талап кылуу ('Discord.js');

    const {

    Префикс,

    токен

    } = Керек ('./ config.json');

    const ytdl = талап кылуу ('ydl-core');

  4. Көз карандылык декларациялоо коду, дисктерде музыкалык бот түзүү үчүн

  5. Мурда көрсөтүлгөн энбелгилердин жардамы менен, эки жөнөкөй линияны гана киргизүү менен жүргүзүлүп, кардар жана логин түзүңүз:

    Conc concerent = жаңы discord.client ();

    Client.login (Токен);

  6. Версияда музыкалык бот түзүү үчүн кардар жана энбелгилерди кошуу

  7. Ботко угуу үчүн акыркы негизги негизги саптарды көрсөтүү гана бойдон калууда.

    Client.Once ('Даяр', () => {

    Console.log ('Даяр!');

    });

    Client.Once ('Reconnecting', () => {

    Console.log ('Сыноо!');

    });

    Кардар.Once ('ажыратуу', () => {

    Console.log ('ажыратуу!');

    });

  8. Киришүүдөгү музыкалык бот түзүү үчүн кодду туташтыруу буйруктары

  9. "Файл" менюсун кеңейтүү жана өзгөртүүлөрдү сактоо.
  10. Оңдоп-түзөөдөн кийин өзгөртүүлөрдү киргизгенден кийин өзгөрүүлөрдү үнөмдөө

  11. Кайра ыңгайлуу жол менен консолду кайра иштетиңиз.
  12. Дискорддогу музыкалык бот түзүү үчүн буйрук линиясын иштетүү үчүн буйрук линиясын иштетүү

  13. Бот жазуусун баштоо үчүн Node Index.js буйругун киргизиңиз.
  14. Бот Инспекция командасы араздашууда музыкалык бот жаратуу

  15. Эгерде анын файлдары колдонуучунун үй каталогунда жайгашкан болсо, анда түйүндүн бүтүндүгүн белгилөө керек.
  16. Арзанда музыкалык бот түзүү үчүн дагы бир бот которгуч буйругун киргизиңиз

  17. Ботун ийгиликтүү ишке киргизүү пайда болгон жазуусу менен "даяр!" Деген жазуу менен көрсөтүлөт.
  18. Ийгиликке жетишүү үчүн ийгиликтүү ишке киргизүүнүн натыйжасы

  19. Ачык араздашуу жана бот "онлайн" абалына келгендигин текшериңиз.
  20. Дискорддогу музыкалык бот түзүү үчүн бакты текшериңиз

5-кадам: Музыкалык боттун негизги кодигин жазуу

Эң татаал процесс сакталып калган - музыкалык бот үчүн негизги код жазуу. Ал аткарылышы керек болгон тапшырмалардын тизмеси: Билдирүүлөрдү жана кайра иштетүү буйруктарын, үн каналын жана үн каналына жана ойнотууну туташтырыңыз. Ушул боттун бардыгына уруксаттар, ошондуктан сиз бир эле "Index V.js" файлында JavaScript функцияларын колдонуп, иш-аракеттерди белгилөө керек.

Версияда музыкалык боттун нормалдуу иштешин камсыз кылуу үчүн кодду түзөтүү коду

Билдирүүлөрдү окуу үчүн жөнөкөй функция кошуңуз:

Кардар.он ('MESSAGE', ASYYNC билдирүүсү => {

}

Ал эки гана сызыктан турат, бирок ботко бажы сурамга кирип, туура иштөөгө уруксат берет. Бул ар кандай түрлөрдүн ботторунун эң маанилүү топторунун бири деп айтууга болот деп айтууга болот. Кирүү менен башка боттордон билдирүүлөрдү кошууну унутпаңыз

if (Message.Author.Bot) return;

Бул серверде бир нече ботторду бир эле учурда колдонуп жатканда, бул чыр-чатактарды жокко чыгарат. Андан кийин, бот команданы кабыл алган же кайтарып берген префикти текшерүү керек болот.

if (! Message.Content.startswith (Префикс)) return;

Жүрүү буйруктарын текшерүү Жөнөкөй операторлорду колдонуу менен жүргүзүлөт, жана биздин ишибизде дизайн төмөнкүдөй:

Const const const = queue.get (message.guild.id.id);

if (message.content.startswith (`$ {plfix} play`)) {

Аткаруу (билдирүү, сервервин);

Кайтуу;

} Else if (message.content.startswith (`$ {prefix} Skip`)) {

Өткөрүп жиберүү (билдирүү, сервервин);

Кайтуу;

} Else if (message.content.startswith (`$ {prefix} Stop`)) {

Токтотуу (билдирүү, сервервин);

Кайтуу;

} Else {

Message.channel.send ('Учурдагы буйрукту колдонушуңуз керек!')

}

Сураныч, жөнөтүлгөн функцияга көңүл буруңуз, эгерде ал күтүлбөгөн буйрукка кирсе, колдонуучуга билдирүү жөнөтөт. Бул билдирүү сиз жазууну тырмакчага өзгөртүүгө, өзгөртүүгө болот.

Азыр бот буйруктарды кабыл алууга үйрөндү, бирок алар менен иштешкенге чейин, ал эми иш-аракеттер көрсөтүлбөйт. Адегенде ойнотуу үчүн жооптуу ойнотуу буйругун кошуңуз. Бул үчүн, төмөнкү форма менен массив керек:

Const Queue = жаңы карта ();

Ал бардык буйруктарды кезекте жөнөтөт жана ырларды мурункуга чейин гана ойноого жиберет. Андан кийин, колдонуучу үн каналына туташкан жана бот тиешелүү уруксаттар экендигин текшере турган функцияны түзүү керек болот.

Async функциясы аткаруу (билдирүү, серверке алуу) {

const args = message.content.split ('');

Const on heigannel = message.member.voicechannel;

if (! Үзгүлтүксүз билдирүү) Билдирүү.channel.send ('Музыканы угуу үчүн, үн каналында болушуңуз керек!');

const уруксаттары = of ve breawannel.perississionsformissionsformsistersissionsformsistersissionsformsistersissionformsformsistersissionformsformsistersissionfor (билдирүү.

If (! Уруксат берүүчү .Has ('connect') ||! Уруксатулар.has ('SILE')) {

Return Bugety.channel.send ("Мага кошулуп, үн каналы менен сүйлөшүүгө уруксат керек!");

}

}

Кийинки иш-аракет - YTDL китепканасын туташтыруу, анткени бул бот Youtube шилтемесиндеги ырдын атын окуп чыгат, андан кийин ал серверде ойнолот. Кыска коддун кичинекей бөлүгүн киргизүүгө болот.

Const songinfo = ytdl.getinfo (аргдар [1]);

Const song = {

Title: Songinfo.title,

URL: songinfo.video_url,

};

Кийинки кодекстин блогу Сиз кезекте үн каналына ырлар бар же сиз дароо үн каналына туташа аласыз жана ойнотууну баштасаңыз болот.

If (! Serverqueue) {

} Else {

Serverqueue.songs.push (ыр);

Console.log (Serverqueue.songs);

Return Bugety.Cannel.send (`$ {song.title} кезекке кошулган!`);

}

Андан кийин, командалык программисттер үчүн бир аз татаалдашуу үчүн бир аз татаал, бул сиз кирген сайын, сиз кирген сайын, сиз кирген сайын, сиз кирип, кезекти текшерип, туура иш-аракеттерди тандап, ойнотуу. Бардык тымызын мамиле жасоого мүмкүндүк берген комментарийлерге көңүл буруңуз.

// Кезек үчүн келишим түзүү

Const QueuContoluction = {

Текстчалель: Message.Cannel,

Үн айы: Voicechannel,

Туташуу: Нөл,

Ырлар: [],

Көлөмү: 5,

Ойноо: Чындык,

};

// Кезектик келишимге коюлат

Кезек.сет (Message.Guild.id, QueuEContiration);

// Курамыбызды биздин ырлар массивине киргизиңиз

QueuEContruct.Songs.push (ыр);

аракет

// Бул жерде биз үн чатына кошулууга аракет кылып жатабыз жана объекттин байланышын сактоого аракет кылып жатабыз

var connection = heueoin ();

QueuEContruct.Connection = туташуу;

// Ырды баштоо үчүн ойнотуу функциясын чакыруу

Play (Message.Guild, QueueContruction.songs [0]);

} Catch (Err) {

// бот үн чатына кире албаса, ката жөнүндө кабарды көрсөтүү

Console.log (Err);

Queue.delete (Message.Guild.id);

Билдирүү билдирүүсү.Чэннел.сенд (ERR);

}

Кезек менен баары ачык, бирок дагы эле ырларды ойнобойт, анткени оюн функциясына эч кандай тапшырма жок. Муну коддоону өздөштүрүү үчүн структураны кошуу керек

Функция (Гильдия, Ыр) {

Const const const const (guild.id);

If (! Ыр) {

Serverqueue.voucoitchannel.Leave ();

Queue.Delete (Guild.id);

Кайтуу;

}

}

Play PlayStream () функциясын жана көрсөтүлгөн шилтемени колдонуп баштайт.

Const const dispatcher = serverqueue.connection.playstream (Ytdl (song.url))

.on ('' '' ', () => {

Console.log ('Музыка бүттү!');

// аяктаган ырды кезек менен жок кылат

Serverqueue.songs.shift ();

// дагы бир ыр менен ойнотууну пайда кылат

Ойнотуу (гильдия, сервервин). [0]);

})

.on ('ката », ката => {

Console.error (ката);

});

dispatcher.setvolumolmichmic (Serverqueue.volume / 5);

Эгер сиз ырды кошууну кааласаңыз, мисалы, ойнотмо тизмесин ойноону чечкенде, алгач тиешелүү буйрукка кам көрүүнү чечип, андан кийин мындай фрагмент кошуңуз:

Function Skip (билдирүү, серверке) {

if (! Message.Member.Vemer.VoiceChannel) return message.channel.send ('Сиз музыканы токтотуу үчүн үн каналында болушуңуз керек!');

If (! Serverqueue) return message.nnel.send ('Мен өткөрүп жиберген жокмун!');

Serverqueue.dispatcher.end ();

}

Ошол эле схема ошондой эле токтотуу функциясын аткарат, бирок код менен блок бир аз айырмаланат:

Функцияны токтотуу (билдирүү, серверке) {

if (! Message.Member.VoiceChannel) return message.channel.send ('

Музыканы токтотуу үчүн үн каналында болушуңуз керек! ');

Serverqueue.songs = [];

Serverqueue.dispatcher.end ();

}

Жогоруда келтирилген маалыматтар JavaScript тили менен таанышкалары менен таанышкандар үчүн гана ылайыктуу деп эсептейбиз же изилдөө менен гана алектенип, музыкалык бот түзүүнү чечти. Эгерде сиз жалпысынан жана көрсөтүлгөн блокторду өзүңүзгө таандык болбойсуз, сиз эч нерсе деп айтпасаңыз, анда булак кодун файлдын файлын файлга киргизип, боттумдан орусчадан алмаштырыңыз (алар тырмакча) жана үнөмдөө өзгөрүүлөр. Бардык булак кодунун мындай түрү бар:

Арзанда музыкалык бот жаратуу үчүн толук булак кодунун сырткы көрүнүшү

Const Discord = талап кылуу ('Discord.js');

const {

Префикс,

токен

} = Керек ('./ config.json');

const ytdl = талап кылуу ('ydl-core');

Conc concerent = жаңы discord.client ();

Const Queue = жаңы карта ();

Client.Once ('Даяр', () => {

Console.log ('Даяр!');

});

Client.Once ('Reconnecting', () => {

Console.log ('Сыноо!');

});

Кардар.Once ('ажыратуу', () => {

Console.log ('ажыратуу!');

});

Кардар.он ('MESSAGE', ASYYNC билдирүүсү => {

if (Message.Author.Bot) return;

if (! Message.Content.startswith (Префикс)) return;

Const const const = queue.get (message.guild.id.id);

if (message.content.startswith (`$ {plfix} play`)) {

Аткаруу (билдирүү, сервервин);

Кайтуу;

} Else if (message.content.startswith (`$ {prefix} Skip`)) {

Өткөрүп жиберүү (билдирүү, сервервин);

Кайтуу;

} Else if (message.content.startswith (`$ {prefix} Stop`)) {

Токтотуу (билдирүү, сервервин);

Кайтуу;

} Else {

Message.channel.send ('Сиз жарактуу буйрук киргизишиңиз керек!')

}

});

Async функциясы аткаруу (билдирүү, серверке алуу) {

const args = message.content.split ('');

Const on heigannel = message.member.voicechannel;

if (! Үзгүлтүксүз түрдө) Билдирүү.channel.send ("Музыканы ойноо үчүн үн каналында болушуңуз керек!"

const уруксаттары = of ve breawannel.perississionsformissionsformsistersissionsformsistersissionsformsistersissionformsformsistersissionformsformsistersissionfor (билдирүү.

If (! Уруксат берүүчү .Has ('connect') ||! Уруксатулар.has ('SILE')) {

Return message.nnel.send ("Мага кошулуу жана үн каналыңызга кошулуу үчүн уруксат керек!");

}

Const songinfo = ytdl.getinfo (аргдар [1]);

Const song = {

Title: Songinfo.title,

URL: songinfo.video_url,

};

If (! Serverqueue) {

Const QueuContoluction = {

Текстчалель: Message.Cannel,

Үн айы: Voicechannel,

Туташуу: Нөл,

Ырлар: [],

Көлөмү: 5,

Ойноо: Чындык,

};

Кезек.сет (Message.Guild.id, QueuEContiration);

QueuEContruct.Songs.push (ыр);

аракет

var connection = heueoin ();

QueuEContruct.Connection = туташуу;

Play (Message.Guild, QueueContruction.songs [0]);

} Catch (Err) {

Console.log (Err);

Queue.delete (Message.Guild.id);

Билдирүү билдирүүсү.Чэннел.сенд (ERR);

}

} Else {

Serverqueue.songs.push (ыр);

Console.log (Serverqueue.songs);

Return Bugety.Cannel.send (`$ {song.title} кезекке кошулган!`);

}

}

Function Skip (билдирүү, серверке) {

if (! Message.Member.Vember.VoiceChannel) return message.channel.send ('Музыканы токтотуу үчүн үн каналында болушуңуз керек!');

if (! Serverqueue) return message.nnel.send ('Мен өткөрүп жиберген жокмун!');

Serverqueue.dispatcher.end ();

}

Функцияны токтотуу (билдирүү, серверке) {

if (! Message.Member.Vember.VoiceChannel) return message.channel.send ('Музыканы токтотуу үчүн үн каналында болушуңуз керек!');

Serverqueue.songs = [];

Serverqueue.dispatcher.end ();

}

Функция (Гильдия, Ыр) {

Const const const const (guild.id);

If (! Ыр) {

Serverqueue.voucoitchannel.Leave ();

Queue.Delete (Guild.id);

Кайтуу;

}

Const const dispatcher = serverqueue.connection.playstream (Ytdl (song.url))

.on ('' '' ', () => {

Console.log ('Музыка аяктады!');

Serverqueue.songs.shift ();

Ойнотуу (гильдия, сервервин). [0]);

})

.on ('ката », ката => {

Console.error (ката);

});

dispatcher.setvolumolmichmic (Serverqueue.volume / 5);

}

Client.login (Токен);

Ботко кайра жандырган жакшы, ал эми сиз серверге барсаңыз болот, үн каналына туташа аласыз жана өз ара аракеттенүү буйругун киргизип, ботко кантип жооп кайтарууну текшерип туруңуз.

Булак кодун текшерүү командасын табууга арналган музыкалык бот түзүү үчүн

Эгер ботдун жогорудагы варианты сиз үчүн ылайыктуу болсо, анда сиз бир эле гитубка булак коддорун таба аласыз жана аларды компьютериңизге көчүрө аласыз. Катталуу жана ишке киргизүү принциби бирдей бойдон калууда, андыктан зарыл болсо, даяр кодун түзөтүп, андан кийин бакты сынап көрүңүз.

Версияда музыкалык бот түзүү үчүн даяр эритмелерди издөө

Бул макалада биз хостинг боюнча ботка таасирин тийгизген жокпуз, аны башка колдонуучуларга таратып, аватарды түзүп, ачык сайттарды колдонууга уруксат берилгенден, жайылтуучу. Мунун баары сиз ботторду түзүү үчүн чеберчиликти топто турган болсоңуз, анда сиз чеберчилигиңизди топтошуңуз керек болгон өзүнчө процесстер болуп саналат жана тармакта долбоорлорду таркатууга даяр.

Көбүрөөк окуу