Com fer que els robots amb la música des descarti

Anonim

Com fer que els robots amb la música des descarti

En aquest article, anem a parlar de la creació manual d'un robot per a la reproducció de música en discòrdia. Vostè pot simplement copiar el codi de tota presentat i editar per si mateix si posseeix habilitats de JavaScript. El robot va ser creat per nosaltres, però en algunes etapes l'usuari encara pot fer front a diferents problemes, pel que recomanem que llegeixi atentament no només les nostres instruccions, sinó que també apareix a la pantalla dels codis d'error si hi ha tals.

Si resulta que aquest material és massa complicat per a vostè o no adequada per altres raons, utilitzar robots gratuïtes preparades per reproduir música. L'article en el següent enllaç trobareu informació detallada sobre aquest i es pot posar en pràctica la tasca.

Llegeix més:

L'addició d'un robot musical a servidor de la discòrdia

Reproduir música a través bot en discòrdia

Pas 1: Creació d'una nova aplicació

Cada robot per al descart ha d'estar registrat al portal oficial per als desenvolupadors. Així podrà accedir a tots els ajustos necessaris associats amb els permisos i el comportament general de l'robot, pot copiar l'enllaç a la seva autorització al servidor personal i utilitzar el testimoni únic, que és necessària per al desenvolupament addicional de les ordres.

Anar a la pàgina oficial de la discòrdia desenvolupador Portal

  1. Utilitzeu l'enllaç de dalt per obrir la pàgina principal del portal de desenvolupadors, entreu en el compte personal de la discòrdia i feu clic a la "nova sol·licitud" per crear una nova aplicació.
  2. Anar a registrar una nova aplicació per crear un robot musical en discòrdia

  3. Introdueix el nom, donada la singularitat, ja que si hi ha molts robots amb el mateix nom, no serà possible crear - un avís de canvi de nom es notifica.
  4. Introduïu el nom a l'registrar una nova aplicació per a la creació d'un robot musical en discòrdia

  5. Un cop completat, obriu el menú al lloc i seleccionar la categoria "Bot".
  6. Anar a la connexió dels components d'una nova aplicació per crear un robot musical en discòrdia

  7. Enfront de la "Build-A-Bot" cadena de clic a "Afegeix Bot".
  8. Connexió de components de botó d'una nova aplicació per crear un robot musical en discòrdia

  9. Confirmar l'addició de la bot per a l'aplicació seleccionada.
  10. La confirmació dels components d'una nova aplicació per crear un robot musical en discòrdia

  11. A través d'un menú familiar, anar a «OAuth2».
  12. Anar a la pàgina de configuració d'aplicacions per crear un robot musical en discòrdia

  13. Aquesta secció és responsable dels paràmetres generals de l'robot i la seva autorització. En el bloc "Abastos", marqui el paràgraf "Bot".
  14. Seleccioneu el tipus d'aplicació de l'aplicació per crear un robot musical en discòrdia

  15. A la llista de permisos, vos d'activar la connexió als canals de veu i la capacitat de parlar, ja que és necessari per a una major difusió de música.
  16. Cerca Permisos de canal de veu quan la creació d'una aplicació per crear un robot musical en discòrdia

  17. El robot ha de ser capaç de llegir i enviar missatges, de manera que no s'oblidi d'activar aquestes opcions a la secció amb permisos de xat de text. Per descomptat, pot proporcionar tots els permisos a la vegada, però aquest enfocament és increïble, sobretot en els casos en què faci un bot per a un usuari de masses.
  18. Cerca Permisos de canal de text quan la creació d'una aplicació per crear un robot musical en discòrdia

  19. Tan aviat com s'hagi completat la configuració de l'permís, copiar l'enllaç de la primera autorització de l'robot al servidor, perquè en cas contrari afegir fins que en resulta.
  20. autorització eina de còpia de referència per crear un robot musical en discòrdia

  21. Seguiu aquest enllaç i seleccioneu el servidor de prova en la qual desitja comprovar el bot.
  22. Primera autorització després de l'enllaç per crear un robot musical en discòrdia

  23. Confirmar captura i esperar que la informació sobre l'autorització reeixida.
  24. autorització satisfactòria després d'un vincle per crear un robot musical en discòrdia

Ara vostè té un robot amb un únic testimoni, i el robot ja s'ha afegit als servidor, però mentre que en la manera fora de línia. Per iniciar-lo, s'haurà de realitzar algunes accions més en l'equip local, ja que mentre no ens descarreguem el Boting Boting per al funcionament fora de línia.

Pas 2: Accions preparatòries

Accions preparatòries inclouen la creació dels directoris i arxius requerits, la instal·lació d'eines i dependències per a ells. No hi ha res complicat en això, només ha de fer cada acció, al seu torn, seguint amb cura els errors en qualsevol etapa.

  1. Crear una carpeta amb el nom de el bot. Vostè pot triar qualsevol lloc, però la carpeta d'inici de l'usuari és el més adequat per això.
  2. Addició d'una carpeta personalitzada per crear un robot musical en discòrdia

  3. Crear dos arxius en ell: "config.json" i "index.js". A la primera instal·lació de la configuració general de la bot - el seu prefix i únic testimoni, i en el segon - tot el codi de el programa amb les ordres i tasques comunes d'aquesta eina.
  4. Addició d'arxius a una carpeta personalitzada per crear un robot musical en discòrdia

  5. Per al treball de l'robot tindrà Node.js. Aquesta eina està dissenyada per iniciar les seqüències d'ordres en l'equip local. Seguiu l'enllaç de sota i descarregar el seu instal·lador per a Windows.

    Descarregar NODE.JS des del lloc oficial

  6. La descàrrega d'un component per crear un robot musical en discòrdia

  7. Espereu descarregar l'executable de fitxer executable, executeu-lo i passeu el procediment d'instal·lació simple, seguint les instruccions que es mostren a la pantalla.
  8. Córrer i instal·lar un component per crear un bot musical en discòrdia

  9. Després d'això, obriu la "línia d'ordres" convenient per a vosaltres, per exemple, entrant CMD a la utilitat "Executa" (comença la combinació de tecles Win + R).
  10. Executar la línia d'ordres per crear un bot musical en discòrdia

  11. Instal·leu el mòdul per treballar amb l'API de discòrdia, que s'anomena "discord.js". Per fer-ho, a la finestra de la consola que s'obre, introduïu el Discord.js FFMPEG-binaris FFMPEG-BINARS FFMPEG-BINARS OPSSCRIPT YTDL-Core --save i premeu Intro, de manera que afegiu immediatament totes les dependències necessàries.
  12. Comandament de mòduls addicionals per crear un bot musical en discòrdia

  13. Espereu les notificacions a la pantalla en una instal·lació satisfactòria, sense tancar la finestra de la consola actual. Si apareixen errors, apreneu el codi i utilitzeu el motor de cerca per trobar una decisió de treball sobre els fòrums o el lloc web oficial.
  14. Procés d'instal·lació de mòduls addicionals per crear un bot musical en discòrdia

Com a resultat, la carpeta Inici de l'usuari ha d'aparèixer fitxers associats al component de node.js i afegir-los després del mòdul. Reinicieu l'ordinador de manera que el bot no tingui dificultats per iniciar-se i, a continuació, aneu al següent pas.

Pas 3: Edició del fitxer de configuració de bot

Ja saps que a l'arxiu de configuració de l'robot creat sempre hi haurà tot un parell de files de el codi que s'encarrega de la prefix utilitzat (símbol abans d'entrar a sistema al servidor) i un testimoni únic que defineix l'aplicació en l'API. Per complir totes les accions addicionals, es recomana descarregar un programa amb el suport de sintaxi JS o qualsevol editor de text avançat si això no s'ha fet anteriorment. L'article de l'enllaç següent serà capaç de familiaritzar-se amb les solucions adequades adequades.

Llegiu-ne més: seleccionar l'entorn de desenvolupament per a la programació

Tan aviat com s'instal·la a l'ordinador i llest per treballar, podeu començar amb seguretat al fitxer de configuració, introduint les dades d'usuari.

  1. Executeu el fitxer de config.js a través d'un editor de text o entorn de desenvolupament, inseriu el codi següent.

    {

    "Prefix": "!",

    "Token": "Your-Toke"

    }

    Canvi del prefix en editar un fitxer de configuració per crear un bot musical en discòrdia

    Canvieu el prefix en les cometes dobles a la marca desitjada o deixa una nota d'exclamació. Un exemple d'una ordre que utilitza aquest signe sembla així: jugar.

  2. Aneu al vostre bot al portal de desenvolupament, trobeu un testimoni únic allà i copieu-lo.
  3. Copiant fitxes úniques per crear un bot musical en discòrdia

  4. Introduïu la inspecció del vostre toke sense suprimir les cometes dobles.
  5. Substitució d'una mostra única en un arxiu de configuració per crear un robot musical en discòrdia

  6. Deseu els canvis i tanqueu el fitxer. Per cert, es pot realitzar la mateixa acció a través d'un "portàtil" estàndard.
  7. Amb un editor de text a l'editar un fitxer de configuració per crear un robot musical en discòrdia

En aquestes accions amb l'arxiu de configuració s'han completat, ja no cal necessita per prescriure una sola línia de codi. Tancar-, sense oblidar de desar els canvis realitzats, i procedir a l'escriptura més que el robot per a la reproducció de música.

Pas 4: Bot A partir de prova

En primer lloc, cal assegurar-se que el bot generalment s'executa en el servidor i se'n va a la modalitat en línia, caldrà escriure la part principal de el codi per index.js, i aleshores utilitzar NODE.JS per començar.

  1. Mitjançant l'entorn de desenvolupament o l'editor de text seleccionat, obriu el fitxer esmentat per a l'edició.
  2. A l'obrir l'arxiu d'entrada de codi per crear un robot musical en discòrdia

  3. Inserir el bloc de codi que és responsable de la instal·lació de dependència i indica els mòduls utilitzats:

    Const Discord = requereix ( 'discord.js');

    {const

    prefix,

    simbòlic

    } = Require ( './ config.json');

    const YTDL = requereix ( 'YTDL-CORE');

  4. codi de declaració de dependències per a la creació d'un robot musical en discòrdia

  5. Amb l'ajuda de les fitxes prèviament especificats, crear un client i d'inici de sessió, que es porta a terme mitjançant la introducció de només dues línies senzilles:

    Const = new Client discord.client ();

    CLIENT.LOGIN (Token);

  6. Addició d'un client i fitxes per crear un robot musical en discòrdia

  7. Només queda per especificar les últimes línies bàsiques per escoltar el bot.

    Client.ONCE ( 'Ready', () => {

    Console.log ( 'A punt!');

    });

    Client.Once ( 'tornar a connectar', () => {

    Console.log ( 'tornar a connectar!');

    });

    Client.ONCE ( 'desconnexió', () => {

    Console.log ( 'Desconnecta!');

    });

  8. Ordres quan es connecta en el codi per crear un robot musical en discòrdia

  9. Expandir l'menú "Arxiu" i guardar els canvis realitzats.
  10. Guardar els canvis després de l'edició de codi per crear un robot musical en discòrdia

  11. Executar la consola de nou en una forma convenient.
  12. Execució de la línia d'ordres per encendre el bot per crear un robot musical en discòrdia

  13. Introduïu el node index.js comanda per iniciar la seqüència de comandaments bot.
  14. Bot Inspecció equip per crear un robot musical en discòrdia

  15. Si els fitxers no es troba en el directori personal de l'usuari, després de Node haurà d'especificar una completa deixar-los.
  16. Introduir un altre ordre interruptor de bot per crear un robot musical en discòrdia

  17. L'èxit d'el llançament de l'robot s'indica mitjançant la inscripció aparegut "A punt!".
  18. El resultat d'un llançament exitós per crear un robot musical en discòrdia

  19. Obrir la discòrdia i assegureu-vos que el robot va anar a la condició de "en línia".
  20. Comprovi bot en línia per crear un robot musical en discòrdia

Pas 5: Escriure el codificador principal de l'robot musical

El procés més complex romandre - escriure el codi bàsic per al robot musical. Hi ha una llista de les tasques que ha de realitzar: llegir missatges i ordres de processament, la definició d'un nom de la cançó o la seva direcció, la connexió a canal de veu i reproducció. Permisos en tot aquest robot és, de manera que només ha d'especificar les accions que utilitzen les funcions de JavaScript, que es realitza en el mateix arxiu "index.js".

Edició de codi bàsic per al funcionament normal de l'robot musical en discòrdia

Afegir una característica fàcil de llegir els missatges:

Client.on ( 'missatge', asíncron de missatges => {

}

Es compon de només dues línies, però permetrà que el robot per prendre una consulta personalitzada i processada correctament. Es pot dir que aquest és un dels equips més importants per als robots de qualsevol tipus. Assegureu-vos d'afegir missatges fent cas omís d'altres robots mitjançant la introducció de

si retorn (message.author.bot);

Això evita conflictes durant l'ús de múltiples robots al servidor de forma simultània. A continuació, caldrà comprovar el prefix perquè el bot va acceptar l'equip o l'hi va tornar.

si (Message.content.startSwith (Prefix)!) return;

Comprovació de les ordres llançats es porta a terme utilitzant els operadors simple si, i el disseny en la nostra aparença cas com aquest:

Const ServerQueue = Queue.Get (Message.Guild.ID);

si (Message.Content.startSwith ( `$ {prefix} play`)) {

EXECUTE (Missatge, ServerQueue);

tornar;

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

SKIP (Missatge, ServerQueue);

tornar;

} Else if (message.content.startSwith ( `$ {prefix} stop`)) {

Stop (Missatge, Serverqueue);

tornar;

} Else {

Message.Channel.send ( 'Ha d'utilitzar la comanda existent!')

}

Recordeu que el SEND ( '') funció envia el missatge a l'usuari si de sobte entra la comanda de no treball. Aquest missatge es pot editar, canviar la inscripció entre cometes.

Ara el robot aprèn a portar les ordres, però fins que pugui interactuar amb ells, ja que les accions no s'especifiquen. Primer s'ha d'agregar la comanda Play, que és responsable de la reproducció. Per a això, es necessita una matriu amb la següent forma:

Const cua = Nou mapa ();

Ell envia a tots els comandaments de la cua i fa que les cançons per jugar només quan els extrems anteriors un. A continuació, serà necessari per crear una funció que comprovar si l'usuari connectat amb el canal de veu i si el bot és els permisos corresponents.

Async executar la funció (MISSATGE, SERVERQUEUE) {

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

Const VoiceChannel = Message.Member.VoiceChannel;

if (! VoiceChannel) Tornar Message.Channel.send ( 'Per escoltar música, ha d'estar al canal de veu!');

const Permisos = VoiceChannel.permissionSFOR (Message.Client.user);

If (! Permissions.has ( 'Connectar') ||! Permissions.has ( 'parlar')) {

Tornar Message.channel.send ( 'Necessito permisos per unir-se i parlar del seu canal de veu!');

}

}

Següent Acció - que connecta a la biblioteca YTDL, ja que aquest robot llegirà el nom de la cançó a l'enllaç de YouTube, després de la qual cosa es juga al servidor. Es durà a inserir una petita peça d'inserció de codi.

Const Songinfo = await ytdl.getinfo (args [1]);

Const Cançó = {

Títol: Songinfo.title,

URL: Songinfo.Video_URL,

};

El següent bloc de codi li permetrà entendre si hi ha cançons a la cua o es pot connectar immediatament a canal de veu i iniciar la reproducció.

If (! Serverqueue) {

} Else {

ServerQueue.Songs.push (Song);

Console.log (Serverqueue.songs);

Tornar Message.Channel.send ( `$ {} Song.title s'ha afegit a la cua de`!);

}

A continuació ve una mica complicat per als programadors novells un esquema de contracte que afegeix una cançó en una matriu i fa el mateix cada vegada que entra! Play, el control de la cua i l'elecció de l'acció correcta. prestar atenció als comentaris presentats, que li permeten fer front a totes les subtileses.

// Creació d'un contracte per a la cua

Const QueueContruct = {

TextChannel: Message.Channel,

VoiceChannel: VoiceChannel,

Connexió: NULL,

Songs: [],

VOLUM: 5,

Jugar: És cert,

};

// Conjunt de cues amb el nostre contracte

queue.set (Message.Guild.ID, QueueContruct);

// Inserir la composició en la nostra gamma de cançons

queuecontruct.songs.push (SONG);

try {

// Aquí estem tractant d'unir-se a xat de veu i guardar la connexió en l'objecte

connexió var = voicechannel.join await ();

queuecontruct.connection = Connexió;

// Trucar a la funció de reproducció per iniciar la cançó

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

} Catch (ERR) {

// Mostra un missatge d'error si el robot no pot unir-se a xat de veu

Console.log (ERR);

queue.delete (Message.Guild.ID);

Tornar Message.Channel.send (ERR);

}

Amb la cua, tot està clar, però encara no juga cançons, perquè no hi ha una assignació per a la funció de reproducció. Per fer això en el codi cal afegir estructura

La funció de reproducció (gremi, SONG) {

Const ServerQueue = queue.get (guild.id);

If (! Cançó) {

ServerQueue.VoiceChannel.Leave ();

queue.delete (guild.id);

tornar;

}

}

Jugar comença a utilitzar la funció PlayStream () i l'enllaç especificat a la pista.

Const Dispatcher = ServerQueue.Connection.PlayStream (YTDL (Song.url))

.en ( 'Fi', () => {

Console.log ( 'Música ha acabat!');

// elimina la cançó final de la cua

serverqueue.songs.shift ();

// nou fa que la funció de reproducció amb la següent cançó

Play (Guild, Serverqueue.songs [0]);

})

.en ( 'error', error => {

Console.error (Error);

});

dispatcher.setvolumelogarithmic (serverqueue.volume / 5);

Si voleu afegir una funció de salt cançó, per exemple, quan vostè decideix jugar una llista de reproducció, primer s'encarregui de l'ordre apropiada, i després afegir un fragment d'aquest tipus:

Funció de salt (Missatge, Serverqueue) {

(! Message.member.voiceChannel) si el retorn Message.Channel.send ( 'Vostè ha d'estar en un canal de veu a la música parada!');

Si (Serverqueue!) Tornar Message.Channel.send ( 'No hi ha cap cançó que pugui saltar!');

ServerQueue.connection.dispatcher.end ();

}

Aproximadament el mateix esquema també funciona la funció de parada, però el bloc amb el codi adquireix un aspecte lleugerament diferent:

FUNCIÓ STOP (Missatge, Serverqueue) {

if (! Message.member.VoiceChannel) Tornar Message.Channel.send ( '

Ha d'estar al canal de veu per aturar la música! ');

ServerQueue.Songs = [];

ServerQueue.connection.dispatcher.end ();

}

Tinguem en compte que la informació donada prèviament és adequat exclusivament per a aquells usuaris que ja estan familiaritzats amb el llenguatge JavaScript o només es dedica a estudiar i va decidir crear un robot musical. Si vostè no pròpies habilitats en general i dels blocs especificats amb el codi no es diu res en absolut, només ha de inserir el codi font complet a l'arxiu, en lloc dels missatges de el bot en rus (que estan entre cometes) i guardar el canvia. Tot el codi font té aquest tipus:

L'exterior de el codi font complet per a la creació d'un robot musical en discòrdia

Const Discord = requereix ( 'discord.js');

{const

prefix,

simbòlic

} = Require ( './ config.json');

const YTDL = requereix ( 'YTDL-CORE');

Const = new Client discord.client ();

Const cua = Nou mapa ();

Client.ONCE ( 'Ready', () => {

Console.log ( 'A punt!');

});

Client.Once ( 'tornar a connectar', () => {

Console.log ( 'tornar a connectar!');

});

Client.ONCE ( 'desconnexió', () => {

Console.log ( 'Desconnecta!');

});

Client.on ( 'missatge', asíncron de missatges => {

si retorn (message.author.bot);

si (Message.content.startSwith (Prefix)!) return;

Const ServerQueue = Queue.Get (Message.Guild.ID);

si (Message.Content.startSwith ( `$ {prefix} play`)) {

EXECUTE (Missatge, ServerQueue);

tornar;

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

SKIP (Missatge, ServerQueue);

tornar;

} Else if (message.content.startSwith ( `$ {prefix} stop`)) {

Stop (Missatge, Serverqueue);

tornar;

} Else {

Message.Channel.send ( 'necessita introduir un comandament vàlid!')

}

});

Async executar la funció (MISSATGE, SERVERQUEUE) {

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

Const VoiceChannel = Message.Member.VoiceChannel;

Si el retorn Message.Channel.send ( 'Vostè necessita estar en un canal de veu per reproduir música!') (VoiceChannel!);

const Permisos = VoiceChannel.permissionSFOR (Message.Client.user);

If (! Permissions.has ( 'Connectar') ||! Permissions.has ( 'parlar')) {

Tornar Message.Channel.send ( 'I Need els permisos per unir-se i parlar al seu canal de veu!');

}

Const Songinfo = await ytdl.getinfo (args [1]);

Const Cançó = {

Títol: Songinfo.title,

URL: Songinfo.Video_URL,

};

If (! Serverqueue) {

Const QueueContruct = {

TextChannel: Message.Channel,

VoiceChannel: VoiceChannel,

Connexió: NULL,

Songs: [],

VOLUM: 5,

Jugar: És cert,

};

queue.set (Message.Guild.ID, QueueContruct);

queuecontruct.songs.push (SONG);

try {

connexió var = voicechannel.join await ();

queuecontruct.connection = Connexió;

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

} Catch (ERR) {

Console.log (ERR);

queue.delete (Message.Guild.ID);

Tornar Message.Channel.send (ERR);

}

} Else {

ServerQueue.Songs.push (Song);

Console.log (Serverqueue.songs);

Tornar Message.Channel.send ( `$ {} Song.title s'ha afegit a la cua de`!);

}

}

Funció de salt (Missatge, Serverqueue) {

si (message.member.voiceChannel!) Tornar Message.Channel.send ( 'Vostè ha d'estar en un canal de veu per aturar la música!');

si (ServerQueue!) Tornar Message.Channel.send ( 'no hi ha cançó que pugui Saltar!');

ServerQueue.connection.dispatcher.end ();

}

FUNCIÓ STOP (Missatge, Serverqueue) {

si (message.member.voiceChannel!) Tornar Message.Channel.send ( 'Vostè ha d'estar en un canal de veu per aturar la música!');

ServerQueue.Songs = [];

ServerQueue.connection.dispatcher.end ();

}

La funció de reproducció (gremi, SONG) {

Const ServerQueue = queue.get (guild.id);

If (! Cançó) {

ServerQueue.VoiceChannel.Leave ();

queue.delete (guild.id);

tornar;

}

Const Dispatcher = ServerQueue.Connection.PlayStream (YTDL (Song.url))

.en ( 'Fi', () => {

Console.log ( 'música va acabar!');

serverqueue.songs.shift ();

Play (Guild, Serverqueue.songs [0]);

})

.en ( 'error', error => {

Console.error (Error);

});

dispatcher.setvolumelogarithmic (serverqueue.volume / 5);

}

CLIENT.LOGIN (Token);

Un cop completat, és millor per reiniciar el robot, després de la qual cosa es pot anar al seu servidor, connecti amb el canal de veu i d'introduir qualsevol ordre de la interacció, comprovant com reaccionar davant el bot.

Codi font de l'equip revisa per crear un robot musical en discòrdia

Si la variant anterior del bot no és adequada per a vosaltres, podeu trobar els codis d'origen al mateix github i copiar-los al vostre ordinador. El principi de registre i el llançament continua sent el mateix, de manera que si cal, simplement editeu el codi acabat i, a continuació, procediu a provar el bot.

Cerqueu solucions preparades per crear un bot musical en discòrdia

En aquest article, no vam afectar la descàrrega d'un bot a l'allotjament, distribuir-lo entre altres usuaris, creant un avatar i l'ús de llocs oberts, des d'on es pot autoritzar. Tot això és processos separats que només s'han de comprometre quan hàgiu perforat la vostra habilitat per crear bots i estan preparats per distribuir projectes a la xarxa.

Llegeix més