Como fazer bots para música em descartar

Anonim

Como fazer bots para música em descartar

Neste artigo, vamos falar em criar manualmente um bot para tocar música em discórdia. Você pode simplesmente copiar o código inteiro enviado e editá-lo para si mesmo se você possui habilidades de JavaScript. O bot foi criado por nós, mas em algumas etapas, o usuário ainda pode enfrentar problemas diferentes, então aconselhamos que você leia atentamente não apenas nossas instruções, mas também aparecendo nos códigos de erro de tela se houver tal.

Se acontecer que este material é muito complicado para você ou não adequado por outras razões, use bots livres prontos para reproduzir música. O artigo no link abaixo você encontrará informações detalhadas sobre isso e você pode implementar a tarefa.

Consulte Mais informação:

Adicionando um bot musical ao servidor na discórdia

Tocar música através do bot em discórdia

Etapa 1: Criando um novo aplicativo

Cada bot para o descarte deve ser registrado no portal oficial para desenvolvedores. Para que você tenha acesso a todas as configurações necessárias associadas às permissões e ao comportamento geral do bot, você pode copiar o link para sua autorização no servidor pessoal e usar o token exclusivo, que é necessário para o desenvolvimento de comandos.

Vá para o site oficial do Portal do Desenvolvedor de Discórdia

  1. Use o link acima para abrir a página principal do Portal para desenvolvedores, efetue login na conta pessoal de discórdia e clique no "novo aplicativo" para criar um novo aplicativo.
  2. Vá para registrar um novo aplicativo para criar um bot musical na discórdia

  3. Digite seu nome, dada a singularidade, porque se houver muitos bots com o mesmo nome, não será possível criá-lo - um aviso de renomeamento é notificado.
  4. Digite o nome ao registrar um novo aplicativo para criar um bot musical na discórdia

  5. Após a conclusão, abra o menu no site e selecione "Bot" category.
  6. Vá para conectar os componentes de um novo aplicativo para criar um bot musical em discórdia

  7. Em frente à string "Build-A-Bot", clique no "Adicionar bot".
  8. Componentes de botão de conexão de um novo aplicativo para criar um bot musical na discórdia

  9. Confirme a adição do bot para o aplicativo selecionado.
  10. Confirmação de componentes para um novo aplicativo para criar um bot musical em discórdia

  11. Através de um menu familiar, vá para «OAuth2».
  12. Vá para o aplicativo de página de configurações para criar um bot musical na discórdia

  13. Esta seção é responsável pelos parâmetros gerais do BOT e sua autorização. No bloco "escopos", marque o parágrafo "bot".
  14. Selecione o tipo de aplicativo do aplicativo para criar um bot musical na discórdia

  15. Na lista de permissões, certifique-se de ativar a conexão com canais de voz e a capacidade de falar, pois é necessário para a música de radiodifusão.
  16. Procure por permissões de canal de voz ao configurar um aplicativo para criar um bot musical na discórdia

  17. O bot deve ser capaz de ler e enviar mensagens, por isso não se esqueça de habilitar essas opções na seção com permissões de bate-papo de texto. Claro, você pode fornecer todas as permissões de uma vez, mas essa abordagem é incrível, especialmente nos casos em que você faz um bot para um usuário em massa.
  18. Pesquise permissões de canal de texto ao configurar um aplicativo para criar um bot musical na discórdia

  19. Assim que a configuração de permissão estiver concluída, copie o link para a primeira autorização do bot no servidor, porque adicioná-lo até que apareça.
  20. Copiar a autorização da ferramenta de referência para criar um bot musical na discórdia

  21. Siga este link e selecione o servidor de teste onde você deseja verificar o bot.
  22. Primeira autorização após o link para criar um bot musical em discórdia

  23. Confirme a captura e aguarde informações sobre a autorização de sucesso.
  24. Autorização bem sucedida após um link para criar um bot musical na discórdia

Agora você tem um bot com um token exclusivo, e o bot já foi adicionado ao servidor, mas enquanto no modo offline. Para iniciá-lo, ele terá que executar mais algumas ações no computador local, pois, enquanto não descarregamos o Boting Boting for offline.

Etapa 2: ações preparatórias

As ações preparatórias incluem a criação dos diretórios e arquivos necessários, a instalação de ferramentas e dependências para eles. Não há nada complicado nisso, você só precisa fazer cada ação, seguindo cuidadosamente os erros em qualquer estágio.

  1. Crie uma pasta com o nome do bot. Você pode escolher qualquer lugar, mas a pasta Home do usuário é mais adequada para isso.
  2. Adicionando uma pasta personalizada para criar um bot musical na discórdia

  3. Crie dois arquivos: "Config.json" e "index.js". Na primeira instalação, a configuração geral do bot - seu prefixo e token exclusivo, e no segundo - todo o código do programa com comandos e tarefas comuns desta ferramenta.
  4. Adicionando arquivos a uma pasta personalizada para criar um bot musical na discórdia

  5. Para o trabalho do bot precisará do nó.js. Esta ferramenta é projetada para iniciar scripts no computador local. Siga o link abaixo e baixe o instalador do Windows.

    Baixe o Node.js do site oficial

  6. Baixando um componente para criar um bot musical na discórdia

  7. Espere baixar o executável do arquivo executável, execute-o e passe o procedimento de instalação simples, seguindo as instruções exibidas na tela.
  8. Correndo e instalando um componente para criar um bot musical na discórdia

  9. Depois disso, abra a "linha de comando" conveniente para você, por exemplo, digitando cmd no utilitário "Executar" (ele inicia a combinação Win + R Keys).
  10. Executando a linha de comando para criar um bot musical na discórdia

  11. Instale o módulo para trabalhar com a API da discórdia, que é chamada "discord.js". Para fazer isso, na janela do console que abre, insira o NPM Install Discord.js FFMPEG-Binários Opsscript YTDL-Core --Save e pressione Enter - então você adiciona imediatamente todas as dependências necessárias.
  12. Comando de configuração de módulos adicionais para criar um bot musical na discórdia

  13. Aguarde as notificações na tela em uma instalação bem-sucedida, sem fechar a janela do console atual. Se aparecerem erros, aprenda seu código e use o mecanismo de pesquisa para encontrar uma decisão de trabalho sobre os fóruns ou o site oficial.
  14. Processo de instalação de módulos adicionais para criar um bot musical na discórdia

Como resultado, a pasta Home do usuário deve aparecer arquivos associados ao componente Node.js e adicionado após o módulo. Reinicie o computador para que o bot não tenha dificuldade de inicialização, então vá para o próximo passo.

Etapa 3: Editando Arquivo de Configuração do Bot

Você já sabe que no arquivo de configuração do Bot criado haverá todo um par de linhas do código responsável pelo prefixo usado (símbolo antes de inserir o comando no servidor) e um token exclusivo que define o aplicativo na API. Para cumprir todas as ações adicionais, recomendamos o download de um programa com suporte de sintaxe JS ou qualquer editor de texto avançado se isso não foi feito anteriormente. O artigo no link abaixo você será capaz de se familiarizar com as soluções adequadas disponíveis.

Leia mais: Selecionando o ambiente de desenvolvimento para programação

Assim que for instalado no computador e pronto para funcionar, você pode começar com segurança para editar o arquivo de configuração, inserindo dados do usuário lá.

  1. Execute o arquivo Config.js por meio de um editor de texto ou ambiente de desenvolvimento, insira o código abaixo.

    {

    "Prefixo": "!",

    "Token": "seu-toke"

    }

    Alterando o prefixo ao editar um arquivo de configuração para criar um bot musical na discórdia

    Altere o prefixo em citações duplas para o desejado ou deixe uma marca de exclamação. Um exemplo de um comando usando este sinal é assim:!

  2. Vá para o seu bot no Portal de Desenvolvimento, encontre um token exclusivo e copie-o.
  3. Copiando tokens exclusivos para criar um bot musical na discórdia

  4. Insira a inspeção do seu toke, sem excluir citações duplas.
  5. Substituindo um token exclusivo em um arquivo de configuração para criar um bot musical na discórdia

  6. Salve as alterações e feche este arquivo. By the way, você pode executar a mesma ação através de um "notebook" padrão.
  7. Usando um editor de texto ao editar um arquivo de configuração para criar um bot musical na discórdia

Nessas ações com o arquivo de configuração são concluídas, não há mais necessidade de prescrever uma única linha de código. Feche-o, sem esquecer de salvar as edições feitas e prossiga para escrever mais o bot para tocar música.

Passo 4: Bot inicial de avaliação

Primeiro, precisamos ter certeza de que o bot é geralmente em execução no servidor e vai para o modo online, será necessário escrever sua parte principal do código para index.js e, em seguida, use o Node.js para iniciar.

  1. Através do ambiente de desenvolvimento ou no editor de texto selecionado, abra o arquivo mencionado para edição.
  2. Abrindo o arquivo de entrada de código para criar um bot musical na discórdia

  3. Insira o bloco de código responsável pela instalação da dependência e indica os módulos usados:

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

    const {

    Prefixo,

    símbolo

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

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

  4. Código de declaração de dependência para criar um bot musical na discórdia

  5. Com a ajuda dos tokens especificados anteriormente, crie um cliente e login, que é realizado, inserindo apenas duas linhas simples:

    Cliente const = new discord.client ();

    Client.login (token);

  6. Adicionando um cliente e tokens para criar um bot musical na discórdia

  7. Ele permanece apenas para especificar as últimas linhas básicas para ouvir o bot.

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

    Console.log ('pronto!');

    });

    Cliente.Once ('reconexando', () => {

    Console.log ('reconectando!');

    });

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

    Console.log ('desconectar!');

    });

  8. Comandos ao conectar-se no código para criar um bot musical na discórdia

  9. Expanda o menu "Arquivo" e salve as alterações feitas.
  10. Salvando alterações após a edição de código para criar um bot musical na discórdia

  11. Execute o console novamente de uma maneira conveniente.
  12. Executando a linha de comando para ligar o bot para criar um bot musical na discórdia

  13. Digite o comando nó index.js para iniciar o script bot.
  14. Equipe de inspeção bot para criar um bot musical na discórdia

  15. Se seus arquivos não estiverem localizados no diretório inicial do usuário, após o nó terá que especificar um completo, deixe-os.
  16. Digite outro comando Bot Switch para criar um bot musical na discórdia

  17. O lançamento bem-sucedido do bot é indicado pela inscrição aparecida "pronta!".
  18. O resultado de um lançamento bem-sucedido para criar um bot musical em discórdia

  19. Abra a discórdia e certifique-se de que o bot fosse ao status de "online".
  20. Verifique o bot on-line para criar um bot musical na discórdia

Passo 5: Escrever o codificador principal do bot musical

O processo mais complexo permaneceu - escrevendo o código básico para o bot musical. Há uma lista de tarefas que deve executar: ler mensagens e comandos de processamento, definição de um nome de música ou seu endereço, conectando ao canal de voz e reprodução. Permissões em todo esse bot é, então você só precisa especificar ações usando funções JavaScript, que são executadas no mesmo arquivo "index.js".

Editando código para garantir a operação normal do bot musical na discórdia

Adicione um recurso simples para ler mensagens:

Cliente.on ('mensagem', assync message => {

}

Consiste em apenas duas linhas, mas permitirá que o bot fique uma consulta personalizada e processada corretamente. Pode-se dizer que esta é uma das equipes mais importantes para os bots de qualquer tipo. Certifique-se de adicionar mensagens ignorando de outros bots inserindo

se (message.author.bot) retorne;

Isso evita conflitos ao usar vários bots no servidor simultaneamente. Em seguida, será necessário verificar o prefixo para que o bot aceitasse a equipe ou voltasse.

if (! message.content.startswith (prefixo)) retorne;

Verificar comandos iniciados é realizado usando os operadores simples, e o design no nosso caso se parece com isso:

Const serverQueue = Queue.Get (Message.guild.id);

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

Executar (mensagem, serverqueue);

Retornar;

} Else se (mensagem.content.startswith (`$ {prefix} skip`)) {

Skip (mensagem, serverqueue);

Retornar;

} Else se (message.content.startswith (`$ {prefix} parar`)) {

Parar (mensagem, serverqueue);

Retornar;

} OUTRO {

Message.channel.send ('você deve usar o comando existente!')

}

Por favor, note que a função Enviar ('') envia a mensagem para o usuário, se ele inserir de repente o comando não funcionamento. Esta mensagem você pode editar, alterar a inscrição nas citações.

Agora o bot aprendeu a assumir comandos, mas até que possa interagir com eles, já que as ações não são especificadas. Primeiro adicione o comando Play, que é responsável pela reprodução. Para isso, uma matriz é necessária com o seguinte formulário:

Const Queue = novo mapa ();

Ele envia todos os comandos na fila e faz as músicas apenas quando o anterior terminar. Em seguida, será necessário criar uma função que irá verificar se o usuário conectou ao canal de voz e se o bot é as permissões correspondentes.

Função Assíncrona Execute (mensagem, serverqueue) {

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

Const VoiceChannel = mensagem.Member.VoiceChannel;

if (! voicechannel) retornar mensagem.channel.send ('para ouvir música, você precisa estar no canal de voz!');

Permissões const = VoiceChannel.PermissionsPor (Message.client.user);

If (! Permissions.HAS ('Connect') ||! Permissões.HAS ('Speak')) {

Return Message.channel.Send ('Preciso permissão para participar e falar seu canal de voz!');

}

}

Próxima ação - Conectando a biblioteca YTDL, já que este bot lerá o nome da música no link do YouTube, após o qual ele é jogado no servidor. Ele será necessário para inserir um pequeno pedaço de inserção de código.

Const smostinfo = aguardo ytdl.getinfo (args [1]);

Const sing = {

Título: SongInfo.Title,

URL: Songinfo.video_url,

};

O próximo bloco de código permitirá que você entenda se houver músicas na fila ou você pode se conectar imediatamente ao canal de voz e iniciar a reprodução.

If (! Serverqueue) {

} OUTRO {

Serverqueue.songs.push (canção);

Console.log (serverqueue.songs);

Return Message.channel.Send (`$ {Song.title} foi adicionado à fila!`);

}

Em seguida, vem um pouco complicado para os programadores novatos Um esquema de contrato que adiciona uma música a uma matriz e faz o mesmo toda vez que você entrar! Jogue, verificando a fila e escolhendo a ação certa. Preste atenção aos comentários apresentados, o que permite lidar com todas as sutilezas.

// criando um contrato para a fila

Const Queuecontruct = {

TextChannel: Message.channel,

VoiceChannel: VoiceChannel,

Conexão: nulo,

Músicas: [],

VOLUME: 5,

Jogando: Verdadeiro,

};

// Definir fila com o nosso contrato

file.set (mensagem.guild.id, Queuecontrio);

// Insira a composição em nossa matriz de músicas

Queuecontruct.Songs.push (canção);

Experimente {

// Aqui estamos tentando entrar no bate-papo de voz e salvar a conexão no objeto

Var conexão = aguardam voicechannel.join ();

Queuecontruct.Connection = conexão;

// chamando a função de reprodução para iniciar a música

Reproduzir (Message.guild, Queuecontruct.Songs [0]);

} Pegar (err) {

// Exibe uma mensagem de erro se o bot não puder ingressar no chat de voz

Console.log (err);

Fila.Delete (Message.guild.id);

Retorno Message.channel.send (err);

}

Com a fila, tudo é claro, mas ainda não reproduz músicas, porque não há atribuição para a função de jogo. Para fazer isso no código, é necessário adicionar estrutura

Play de função (guilda, música) {

Const ServerQueue = Queue.Get (Guild.Id);

If (! Canção) {

ServerQueue.VoiceChannel.Leave ();

fila.delete (guild.id);

Retornar;

}

}

Jogar começa usando a função Playstream () e o link especificado para a faixa.

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

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

Console.log ('música acabou!');

// remove a música acabada da fila

serverqueue.songs.shift ();

// novamente causa função de reprodução com a seguinte música

Play (Guild, ServerQueue.Songs [0]);

})

.on ('erro', erro => {

Console.Error (erro);

});

Dispatcher.SetvolumeloGarithmic (ServerQueue.Volume / 5);

Se você quiser adicionar uma função de ignição, por exemplo, quando decidir reproduzir uma lista de reprodução, primeiro cuide do comando apropriado e adicione esse fragmento:

Função Skip (Mensagem, ServerQueue) {

if (! message.member.voicechannel) retornar mensagem.channel.send ('você deve estar em um canal de voz para parar a música!');

If (! Serverqueue) retornar mensagem.channel.send ('Não há música que eu poderia pular!');

Serverqueue.connection.dispatcher.end ();

}

Aproximadamente o mesmo esquema também funciona a função de parada, mas o bloco com o código adquire uma aparência ligeiramente diferente:

Parada de função (mensagem, serverqueue) {

if (! Message.Member.VoiceChannel) Return Message.channel.Send ('

Você deve estar no canal de voz para parar de música! ');

Serverqueue.songs = [];

Serverqueue.connection.dispatcher.end ();

}

Considere que as informações apresentadas acima são adequadas exclusivamente para os usuários que já estão familiarizados com a linguagem JavaScript ou só estão envolvidas em estudar e decidir criar um bot musical. Se você não possui habilidades em geral e os blocos especificados com o código, você não disser nada, simplesmente insira todo o código de origem no arquivo, substitua as mensagens do bot em russo (eles estão em citações) e salvar o alterar. Todo o código fonte tem esse tipo:

Exterior do código-fonte completo para criar um bot musical na discórdia

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

const {

Prefixo,

símbolo

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

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

Cliente const = new discord.client ();

Const Queue = novo mapa ();

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

Console.log ('pronto!');

});

Cliente.Once ('reconexando', () => {

Console.log ('reconectando!');

});

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

Console.log ('desconectar!');

});

Cliente.on ('mensagem', assync message => {

se (message.author.bot) retorne;

if (! message.content.startswith (prefixo)) retorne;

Const serverQueue = Queue.Get (Message.guild.id);

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

Executar (mensagem, serverqueue);

Retornar;

} Else se (mensagem.content.startswith (`$ {prefix} skip`)) {

Skip (mensagem, serverqueue);

Retornar;

} Else se (message.content.startswith (`$ {prefix} parar`)) {

Parar (mensagem, serverqueue);

Retornar;

} OUTRO {

Message.channel.send ('você precisa digitar um comando válido!')

}

});

Função Assíncrona Execute (mensagem, serverqueue) {

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

Const VoiceChannel = mensagem.Member.VoiceChannel;

if (! VoiceChannel) retornar mensagem.channel.send ('você precisa estar em um canal de voz para tocar música!');

Permissões const = VoiceChannel.PermissionsPor (Message.client.user);

If (! Permissions.HAS ('Connect') ||! Permissões.HAS ('Speak')) {

Return Message.channel.Send ('Eu preciso das permissões para participar e falar no seu canal de voz!');

}

Const smostinfo = aguardo ytdl.getinfo (args [1]);

Const sing = {

Título: SongInfo.Title,

URL: Songinfo.video_url,

};

If (! Serverqueue) {

Const Queuecontruct = {

TextChannel: Message.channel,

VoiceChannel: VoiceChannel,

Conexão: nulo,

Músicas: [],

VOLUME: 5,

Jogando: Verdadeiro,

};

file.set (mensagem.guild.id, Queuecontrio);

Queuecontruct.Songs.push (canção);

Experimente {

Var conexão = aguardam voicechannel.join ();

Queuecontruct.Connection = conexão;

Reproduzir (Message.guild, Queuecontruct.Songs [0]);

} Pegar (err) {

Console.log (err);

Fila.Delete (Message.guild.id);

Retorno Message.channel.send (err);

}

} OUTRO {

Serverqueue.songs.push (canção);

Console.log (serverqueue.songs);

Return Message.channel.Send (`$ {Song.title} foi adicionado à fila!`);

}

}

Função Skip (Mensagem, ServerQueue) {

if (! message.member.voicechannel) Return Message.channel.Send ('Você tem que estar em um canal de voz para parar a música!');

if (! serverqueue) retornar mensagem.channel.send ('Não há música que eu poderia pular!');

Serverqueue.connection.dispatcher.end ();

}

Parada de função (mensagem, serverqueue) {

if (! message.member.voicechannel) Return Message.channel.Send ('Você tem que estar em um canal de voz para parar a música!');

Serverqueue.songs = [];

Serverqueue.connection.dispatcher.end ();

}

Play de função (guilda, música) {

Const ServerQueue = Queue.Get (Guild.Id);

If (! Canção) {

ServerQueue.VoiceChannel.Leave ();

fila.delete (guild.id);

Retornar;

}

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

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

Console.log ("música terminou!");

serverqueue.songs.shift ();

Play (Guild, ServerQueue.Songs [0]);

})

.on ('erro', erro => {

Console.Error (erro);

});

Dispatcher.SetvolumeloGarithmic (ServerQueue.Volume / 5);

}

Client.login (token);

Após a conclusão, é melhor reiniciar o bot, após o qual você pode ir ao seu servidor, conectar-se ao canal de voz e inserir qualquer comando da interação, verificando como reagir ao bot.

Código-fonte Verificar a equipe para criar um bot musical na discórdia

Se a variante acima do bot não for adequada para você, você poderá encontrar os códigos de origem no mesmo github e copiá-los para o seu computador. O princípio do registro e do lançamento permanece o mesmo, por isso, se necessário, basta editar o código acabado e, em seguida, proceder a testar o bot.

Procure soluções prontas para criar um bot musical em discórdia

Neste artigo, não afetamos a descarga de um bot de hospedagem, distribuí-lo entre outros usuários, criando um avatar e o uso de sites abertos, de onde ele pode ser autorizado. Tudo isso é processos separados que devem ser engajados somente quando você tiver atenuado sua habilidade para criar bots e estiver pronto para distribuir projetos na rede.

Consulte Mais informação