Como facer bots para a música en descartar

Anonim

Como facer bots para a música en descartar

Neste artigo, falaremos de crear manualmente un bot para reproducir música en discordia. Pode simplemente copiar todo o código enviado e editalo por si mesmo se ten habilidades de JavaScript. O bot foi creado por nós, pero nalgunhas etapas o usuario aínda pode afrontar diferentes problemas, polo que aconsellamos a ler coidadosamente non só as nosas instrucións, senón que tamén aparecen nos códigos de erro de pantalla se hai tal.

Se resulta que este material é demasiado complicado para ti ou non adecuado por outros motivos, use bots gratuitos preparados para reproducir música. O artigo sobre a ligazón a continuación atoparás información detallada sobre isto e podes implementar a tarefa.

Le máis:

Engadindo un bot musical ao servidor en discordia

Reproducir música a través de bot en discordia

Paso 1: Crear unha nova aplicación

Cada bot para o descarte debe estar rexistrado no portal oficial para os desenvolvedores. Entón, accede a todas as configuracións necesarias asociadas aos permisos e ao comportamento xeral do bot, pode copiar a ligazón á súa autorización no servidor persoal e usar o token único que é necesario para o desenvolvemento posterior dos comandos.

Ir ao sitio web oficial do portal de desarrolladores de discordia

  1. Use a ligazón de arriba para abrir a páxina principal do portal para os desenvolvedores, inicie sesión na conta persoal da discordia e faga clic na "nova aplicación" para crear unha nova aplicación.
  2. Vaia a rexistrar unha nova aplicación para crear un bot musical en discordia

  3. Introduza o seu nome, dada a singularidade, porque se hai moitos bots co mesmo nome, non será posible crealo - notifícase un aviso de renomeamento.
  4. Introduza o nome ao rexistrar unha nova aplicación para crear un bot musical en discordia

  5. Tras a conclusión, abra o menú no sitio e selecciona a categoría "Bot".
  6. Vaia a conectar os compoñentes dunha nova aplicación para crear un bot musical en discordia

  7. Fronte á cadea de "Build-A-Bot" prema no botón "Engadir bot".
  8. Conectando os compoñentes do botón dunha nova aplicación para crear un bot musical en discordia

  9. Confirme a adición do bot para a aplicación seleccionada.
  10. Confirmación de compoñentes a unha nova aplicación para crear un bot musical en discordia

  11. A través dun menú familiar, vai a «Oauth2».
  12. Ir á aplicación de páxina de configuración para crear un bot musical en discordia

  13. Esta sección é responsable dos parámetros xerais do bot ea súa autorización. No bloque de "ámbitos", marque o parágrafo "Bot".
  14. Seleccione o tipo de aplicación da aplicación para crear un bot musical en discordia

  15. Na lista de permisos, asegúrese de activar a conexión coas canles de voz e a capacidade de falar, xa que é necesario para a música de radiodifusión.
  16. Busca permisos de canles de voz ao configurar unha solicitude para crear un bot musical en discordia

  17. O bot debería ser capaz de ler e enviar mensaxes, polo que non esqueza habilitar estas opcións na sección con permisos de chat de texto. Por suposto, pode proporcionar todos os permisos á vez, pero este enfoque é incrible, especialmente nos casos nos que fai un bot para un usuario de masa.
  18. Busca permisos de canles de texto ao configurar unha solicitude para crear un bot musical en discordia

  19. Axiña que se completa a configuración de permisos, copie a ligazón para a primeira autorización do bot no servidor, porque doutro xeito engádeo ata que resulta.
  20. Copiar a autorización da ferramenta de referencia para crear un bot musical en discordia

  21. Siga esta ligazón e seleccione o servidor de probas onde desexa comprobar o bot.
  22. Primeira autorización despois da ligazón para crear un bot musical en discordia

  23. Confirma a captura e agarde a información sobre a autorización exitosa.
  24. Autorización exitosa tras unha ligazón para crear un bot musical en discordia

Agora tes un bot cun token único e o bot xa foi engadido ao servidor, pero mentres está en modo sen conexión. Para comezar, terá que realizar algunhas accións máis na computadora local, xa que aínda que non descargamos o boting para a operación sen conexión.

Paso 2: Accións preparatorias

As accións preparatorias inclúen a creación dos directorios e ficheiros requiridos, a instalación de ferramentas e dependencias para eles. Non hai nada complicado neste, só ten que facer cada acción á súa vez, atendendo coidadosamente os erros en calquera etapa.

  1. Crea un cartafol co nome do bot. Pode escoller calquera lugar, pero o cartafol persoal do usuario é máis adecuado para iso.
  2. Engadindo un cartafol personalizado para crear un bot musical en discordia

  3. Crea dous ficheiros nel: "config.json" e "index.js". Na primeira instalación a configuración xeral do bot - o seu prefixo e símbolo único, e no segundo - todo o código do programa con comandos e tarefas comúns desta ferramenta.
  4. Engadindo ficheiros a un cartafol personalizado para crear un bot musical en discordia

  5. Para o traballo do bot, necesitará node.js. Esta ferramenta está deseñada para iniciar scripts na computadora local. Siga a seguinte ligazón e descargue o seu instalador para Windows.

    Descarga Node.js desde o sitio oficial

  6. Descarga dun compoñente para crear un bot musical en discordia

  7. Espere descargar o executable de ficheiros executable, executalo e pasar o procedemento de instalación simple, seguindo as instrucións que se amosan na pantalla.
  8. Correr e instalar un compoñente para crear un bot musical en discordia

  9. Despois diso, abra a "liña de comandos" conveniente para ti, por exemplo, entrando en CMD na utilidade "Executar" (comeza a combinación de teclas Win + R).
  10. Correndo a liña de comandos para crear un bot musical en discordia

  11. Instala o módulo para traballar coa discordia API, que se chama "discordd.js". Para facelo, na xanela da consola que se abre, introduza a instalación de consola discord.js ffmpeg-binarios opsscript ytdl-core --Save e prema Intro - para que engada de inmediato todas as dependencias necesarias.
  12. Módulos adicionais comando para crear un bot musical en discordia

  13. Agarde por notificacións na pantalla a unha instalación exitosa, sen pechar a xanela da consola actual. Se aparecen erros, aprende o seu código e use o motor de busca para atopar unha decisión de traballo sobre os foros ou o sitio web oficial.
  14. Proceso de instalación de módulos adicionais para a creación dun bot musical en discordia

Como resultado, o cartafol persoal do usuario debería aparecer arquivos asociados co compoñente NODE.JS e engadido despois do módulo. Reinicie a computadora para que o bot non teña un inicio de dificultade, despois vaia ao seguinte paso.

Paso 3: Edición de Bot Configuration File

Xa sabes que no ficheiro de configuración BOT creado haberá todo un par de filas do código que sexa responsable do prefixo usado (símbolo antes de introducir o comando no servidor) e un token único que define a aplicación na API. Para cumprir todas as accións máis, recomendamos descargar un programa con soporte de sintaxe JS ou calquera editor de texto avanzado se isto non se fixo anteriormente. O artigo sobre a ligazón a continuación poderá familiarizarse coas solucións axeitadas dispoñibles.

Ler máis: Selección do ambiente de desenvolvemento para a programación

Axiña que estea instalado na computadora e listo para traballar, pode comezar de forma segura a editar o ficheiro de configuración, introducindo datos de usuario alí.

  1. Executa o ficheiro CONFIG.JS a través dun editor de texto ou ambiente de desenvolvemento, insira o código a continuación.

    {

    "Prefixo": "!",

    "Token": "Your-TOKE"

    }

    Cambiar o prefixo ao editar un ficheiro de configuración para crear un bot musical en discordia

    Cambia o prefixo en comiñas dobres ao desexado ou deixa unha marca de exclamación. Un exemplo dun comando usando este sinal parece así: xogar.

  2. Ir ao seu bot no portal de desenvolvemento, atopar un token único alí e copialo.
  3. Copiando tokens únicos para crear un bot musical en discordia

  4. Insira a inspección de TOKE sen borrar comiñas dobres.
  5. Substituír un token único nun ficheiro de configuración para crear un bot musical en discordia

  6. Garda os cambios e pecha este ficheiro. Por certo, pode realizar a mesma acción a través dun "portátil" estándar.
  7. Usando un editor de texto ao editar un ficheiro de configuración para crear un bot musical en discordia

Sobre estas accións co ficheiro de configuración completáronse, xa non hai que prescribir unha única liña de código. Pecha, sen esquecerme de gardar as edicións feitas e proceder a escribir o bot para reproducir música.

Paso 4: Proba iniciar o bot

En primeiro lugar, necesitamos asegurarse de que o bot xeralmente se execute no servidor e vai ao modo en liña, será necesario escribir a súa parte principal do código para indexar.

  1. A través do ambiente de desenvolvemento ou o editor de texto seleccionado, abra o ficheiro mencionado para a edición.
  2. Abrir o ficheiro de entrada de código para crear un bot musical en discordia

  3. Insira o bloque de código que é responsable da instalación de dependencia e indica os módulos utilizados:

    Const discord = require ('discord.js');

    const {

    Prefixo,

    token.

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

    const ytdl = require ('ytdl-core');

  4. Declaración de dependencia Código para a creación dun bot musical en discordia

  5. Coa axuda dos tokens previamente especificados, crea un cliente e inicia sesión, que se realiza ingresando só dúas liñas sinxelas:

    Const client = novo discordd.client ();

    Client.Login (token);

  6. Engadindo un cliente e tokens para crear un bot musical en discordia

  7. Queda só para especificar as últimas liñas básicas para escoitar o bot.

    Cliente.once ('preparado', () => {

    Console.log ('listo!');

    });

    Cliente.once ('reconexións', () => {

    Console.log ('reconnectar!');

    });

    Cliente.once ('desconexión', () => {

    Console.Log ('Desconectar!');

    });

  8. Comandos ao conectarse en código para crear un bot musical en discordia

  9. Expande o menú "Ficheiro" e garda os cambios feitos.
  10. Gardar cambios despois de editar código para crear un bot musical en discordia

  11. Executa a consola de novo de xeito cómodo.
  12. Correndo a liña de comandos para activar o bot para crear un bot musical en discordia

  13. Introduza o comando index.js de nodos para iniciar o Script BOT.
  14. Equipo de inspección BOT para crear un bot musical en discordia

  15. Se os seus ficheiros non están situados no directorio persoal do usuario, despois de que o nodo terá que especificar un completo que lles permita.
  16. Introduza outro comando Bot Switch para crear un bot musical en discordia

  17. O lanzamento exitoso do bot está indicado pola inscripción aparecida "Ready!".
  18. O resultado dun lanzamento exitoso para crear un bot musical en discordia

  19. Abre discordia e asegúrese de que o bot foi ao estado de "en liña".
  20. Comprobe Bot en liña para crear un bot musical en discordia

Paso 5: Escribir o codificador principal do bot musical

O proceso máis complexo permaneceu: escribindo o código básico para o bot musical. Existe unha lista de tarefas que debe realizar: ler mensaxes e procesar comandos, definición dun nome de canción ou a súa dirección, conectarse á canle de voz e á reprodución. Os permisos sobre todo este bot son, polo que só precisa especificar accións usando funcións de JavaScript, que se realiza no mesmo ficheiro "index.js".

Edición de código para garantir o funcionamento normal do bot musical en discordia

Engade unha característica sinxela para ler mensaxes:

Client.on ('Message', Async Message => {

}

Consta de só dúas liñas, pero permitirá que o bot tome unha consulta personalizada e procesase correctamente. Pódese dicir que este é un dos equipos máis importantes para os bots de calquera tipo. Asegúrese de engadir ignorando mensaxes doutros bots ingresando

Se (message.author.bot) devolve;

Isto evita conflitos mentres usa varios bots no servidor simultaneamente. A continuación, será necesario comprobar o prefixo para que o bot acepte ao equipo ou devolveuno.

se (! mensaxe.content.startswith (prefix)) devolución;

A verificación de comandos lanzados realízase usando simples se os operadores, eo deseño no noso caso parece así:

Const serverqueueue = cola.get (message.guild.id);

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

Executar (mensaxe, servidorqueue);

Regreso;

} Máis se (message.content.startswith (`$ {prefix} Skip`)) {

Saltar (mensaxe, servidorqueue);

Regreso;

} Máis se (mensaxe.content.startswith (`$ {prefix} parar`)) {

Parar (mensaxe, servidorqueue);

Regreso;

} Máis {

Message.channel.send ('Debes usar o comando existente!')

}

Ten en conta que a función Enviar ('') envía a mensaxe ao usuario se de súpeto entra no comando non funcional. Esta mensaxe pode editar, cambiando a inscrición en comiñas.

Agora o bot aprendeu a tomar comandos, pero ata que pode interactuar con eles, xa que as accións non se especifican. Primeiro engade o comando de xogo, que é responsable da reprodución. Para iso, é necesaria unha matriz coa seguinte forma:

Const cola = novo mapa ();

El envía todos os comandos na cola e fai que as cancións xoguen só cando remata o anterior. A continuación, será necesario crear unha función que verificará se o usuario conectado á canle de voz e se o bot é os permisos correspondentes.

Función de Async Execute (mensaxe, servidorqueue) {

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

Const voicechannel = message.member.voicechannel;

Se (! Voicechannel) devolve Message.channel.Send ('Para escoitar música, ten que estar en canle de voz!');

conred permisos = voicechannel.permission (message.client.user);

If (! Permissions.Has ('Connect') || Permissions.Has ('Speak')) {

Devolve a mensaxe.channel.send ('Necesito permisos para unirse e falar a túa canle de voz!');

}

}

Seguinte acción: conectando a biblioteca YTDL, xa que este bot vai ler o nome da canción na ligazón de YouTube, despois de que se xoga no servidor. Levará a inserir unha pequena peza de inserción de código.

Const songinfo = Agardando ytdl.getinfo (args [1]);

Const Song = {

Título: SongInfo.Title,

URL: SongInfo.Video_URL,

};

O seguinte bloque de código permitirá que entenda se hai cancións na cola ou pode conectarse inmediatamente á canle de voz e comezar a reprodución.

Se (! Serverqueueue) {

} Máis {

Servernqueue.songs.push (canción);

Console.log (servidorqueue.songs);

Devolve a mensaxe.channel.send (`$ {Song.title} engadiuse á cola!`);

}

A continuación vén un pouco complicado para os programadores novatos un esquema de contrato que engade unha canción a unha matriz e fai o mesmo cada vez que ingrese! Xoga, comprobando a cola e elixindo a acción correcta. Preste atención aos comentarios presentados, que permiten tratar con todas as sutilezas.

// creando un contrato para a cola

Const queueconstruct = {

TextChannel: Message.Channel,

Voicechannel: Voicechannel,

Conexión: NULL,

Cancións: [],

Volume: 5,

Xogando: TRUE,

};

// establece a cola co noso contrato

cola.set (message.guild.id, queueconstruct);

// inserir a composición na nosa matriz de cancións

queueconstruct.songs.push (canción);

tentar {

// Aquí estamos intentando unirse ao chat de voz e gardar a conexión do obxecto

var conexión = agarda voicechannel.join ();

Queueconstruct.connection = Conexión;

// Chamando a función de reprodución para iniciar a canción

PLAY (message.guild, Queueconstruct.song [0]);

} Captura (errar) {

// Mostrar unha mensaxe de erro se o bot non pode unirse ao chat de voz

Consola.log (errar);

cola.delete (message.guild.id);

Devolver a mensaxe.channel.send (Err);

}

Coa cola, todo está claro, pero aínda non xoga cancións, porque non hai asignación para a función de xogo. Para facelo no código é necesario engadir estrutura

Función de función (gremio, canción) {

Const serverqueueue = cola.get (guild.id);

If (! Canción) {

Servernqueue.voicechannel.leave ();

Queue.Delete (Guild.id);

Regreso;

}

}

A reprodución comeza a usar a función PlayStream () e a ligazón especificada á pista.

Const dispatcher = servernqueue.connection.plystream (ytdl (Song.URL))

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

Console.Log ('Music is Over!');

// elimina a canción rematada da cola

servernqueue.songs.shift ();

// de novo causa a función de reprodución coa seguinte canción

Play (Guild, ServerQueueue.song [0]);

})

.on ('ERROR', ERROR => {

Consola.error (erro);

});

Dispatcher.SetvolumElogaritmic (serverarkqueue.volume / 5);

Se queres engadir unha función de saltar a canción, por exemplo, cando decides xogar unha lista de reprodución, primeiro coidar do comando apropiado e engadir un fragmento deste tipo:

Función omitir (mensaxe, servidorqueue) {

se (! mensaxe.member.voicechannel) devolve Message.channel.send ('Debería estar nunha canle de voz para deter a música!');

If (! Serverqueue) devolve message.channel.send ('Non hai canción que eu podería omitir!');

Servernqueue.connection.dispatcher.end ();

}

Aproximadamente o mesmo esquema tamén funciona a función de parada, pero o bloque co código adquire un aspecto un pouco diferente:

Función Stop (mensaxe, servidorqueue) {

if (! message.member.voicechannel) devolve Message.channel.send ('

Debes estar na canle de voz para deter a música! ');

Servernqueue.songs = [];

Servernqueue.connection.dispatcher.end ();

}

Considere que a información presentada anteriormente é adecuada exclusivamente para aqueles usuarios que xa están familiarizados coa linguaxe JavaScript ou só se dedica a estudar e decidiron crear un bot musical. Se non tes habilidades en xeral e os bloques especificados co código que non digas nada, simplemente insira o código fonte completo no ficheiro, substitúe as mensaxes do bot en ruso (están en comiñas) e gardar o Cambios. Todo o código fonte ten este tipo:

Exterior do código fonte completo para crear un bot musical en discordia

Const discord = require ('discord.js');

const {

Prefixo,

token.

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

const ytdl = require ('ytdl-core');

Const client = novo discordd.client ();

Const cola = novo mapa ();

Cliente.once ('preparado', () => {

Console.log ('listo!');

});

Cliente.once ('reconexións', () => {

Console.log ('reconnectar!');

});

Cliente.once ('desconexión', () => {

Console.Log ('Desconectar!');

});

Client.on ('Message', Async Message => {

Se (message.author.bot) devolve;

se (! mensaxe.content.startswith (prefix)) devolución;

Const serverqueueue = cola.get (message.guild.id);

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

Executar (mensaxe, servidorqueue);

Regreso;

} Máis se (message.content.startswith (`$ {prefix} Skip`)) {

Saltar (mensaxe, servidorqueue);

Regreso;

} Máis se (mensaxe.content.startswith (`$ {prefix} parar`)) {

Parar (mensaxe, servidorqueue);

Regreso;

} Máis {

Message.channel.send ('Debe introducir un comando válido!')

}

});

Función de Async Execute (mensaxe, servidorqueue) {

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

Const voicechannel = message.member.voicechannel;

Se (! Voicechannel) devolve a mensaxe.channel.send ('Debe estar nunha canle de voz para reproducir música!');

conred permisos = voicechannel.permission (message.client.user);

If (! Permissions.Has ('Connect') || Permissions.Has ('Speak')) {

Devolve a mensaxe.channel.send ('Necesito os permisos para unirse e falar na túa canle de voz!');

}

Const songinfo = Agardando ytdl.getinfo (args [1]);

Const Song = {

Título: SongInfo.Title,

URL: SongInfo.Video_URL,

};

Se (! Serverqueueue) {

Const queueconstruct = {

TextChannel: Message.Channel,

Voicechannel: Voicechannel,

Conexión: NULL,

Cancións: [],

Volume: 5,

Xogando: TRUE,

};

cola.set (message.guild.id, queueconstruct);

queueconstruct.songs.push (canción);

tentar {

var conexión = agarda voicechannel.join ();

Queueconstruct.connection = Conexión;

PLAY (message.guild, Queueconstruct.song [0]);

} Captura (errar) {

Consola.log (errar);

cola.delete (message.guild.id);

Devolver a mensaxe.channel.send (Err);

}

} Máis {

Servernqueue.songs.push (canción);

Console.log (servidorqueue.songs);

Devolve a mensaxe.channel.send (`$ {Song.title} engadiuse á cola!`);

}

}

Función omitir (mensaxe, servidorqueue) {

if (! message.member.voicechannel) devolve Message.Channel.Send ('Debes estar nunha canle de voz para deter a música!');

if (! serverqueue) devolve message.channel.send ('Non hai canción que eu podería omitir!');

Servernqueue.connection.dispatcher.end ();

}

Función Stop (mensaxe, servidorqueue) {

if (! message.member.voicechannel) devolve Message.Channel.Send ('Debes estar nunha canle de voz para deter a música!');

Servernqueue.songs = [];

Servernqueue.connection.dispatcher.end ();

}

Función de función (gremio, canción) {

Const serverqueueue = cola.get (guild.id);

If (! Canción) {

Servernqueue.voicechannel.leave ();

Queue.Delete (Guild.id);

Regreso;

}

Const dispatcher = servernqueue.connection.plystream (ytdl (Song.URL))

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

Console.Log ('Music rematou!');

servernqueue.songs.shift ();

Play (Guild, ServerQueueue.song [0]);

})

.on ('ERROR', ERROR => {

Consola.error (erro);

});

Dispatcher.SetvolumElogaritmic (serverarkqueue.volume / 5);

}

Client.Login (token);

Tras a conclusión, é mellor reiniciar o bot, despois de que pode ir ao seu servidor, conectarse á canle de voz e introducir calquera comando da interacción, comprobar como reaccionar ao bot.

Código fonte de código de verificación para crear un bot musical en discordia

Se a variante anterior do bot non é adecuada para ti, pode atopar os códigos fonte do mesmo github e copialos no seu computador. O principio de rexistro e lanzamento segue sendo o mesmo, polo que, se é necesario, simplemente edite o código rematado e despois proceda a probar o bot.

Busca solucións listas para crear un bot musical en discordia

Neste artigo, non afectamos a descarga dun bot no hospedaxe, distribuílo entre outros usuarios, creando un avatar e o uso de sitios abertos, desde onde se pode autorizar. Todo isto é de procesos separados que deben estar comprometidos só cando teña afinado a súa habilidade para crear bots e está preparado para distribuír proxectos na rede.

Le máis