Jump to content

[Tutorial] Como executar ações no MTA utilizando um BOT do Discord


Recommended Posts

Introdução
O conteúdo deste tópico será separado por seções, ensinando passo-a-passo cada detalhe - desde criar um BOT no site do Discord Developers, até finalmente ligá-lo e executar os comandos, que serão enviados para o seu servidor MTA. Siga todos os passos para que tudo dê certo.

Configurando o ambiente
Bom, para que nós possamos iniciar, é necessário instalar duas coisas no seu computador: Node.js e Visual Studio CodeSó um adendo: não é estritamente necessário usar o VSCode, estou apenas sugerindo-o, e também é a IDE que irei utilizar neste tutorial. Após instalá-los, seguiremos a próxima seção.

Como criar um BOT no Discord Developers
Acesse este link: https://discord.com/developers/applications - se você não estiver com uma sessão do Discord aberta no navegador, faça o login para que você possa acessar as funcionalidades desse site.
Provavelmente, após entrar numa sessão, uma página como esta irá surgir:
m489eM2.png

Ignore as minhas aplicações. O seu estará vazio - eu acho. Para iniciarmos a criação de uma nova aplicação, clique no botão que está no canto superior direito:
6LWYMUQ.png

Escolha o nome que desejar, isso não importa muito para este tutorial. Uma vez criada, uma outra página aparecerá, com mais informações.
Primeiramente, vá até a aba Bot. O botão fica ao lado esquerdo:
dQWBVhd.png

Agora, para que criemos de fato o BOT, clique no botão ao lado direito:
736xIuZ.png

Um pop-up irá aparecer, basta clicar em Yes, do it!
Mais uma vez, irá carregar, na mesma aba, mais informações, agora sobre o seu BOT. Não compartilhe nada do que estiver escrito na página, com ênfase no seu token, que faz o seu BOT ficar online. Agora, voltemos para a aba principal:
5ffhh0F.png

Nessa aba, você possui o Client ID da sua aplicação. Esse ID não é o token, você não precisa se preocupar caso compartilhe com alguém:
QVyGVfZ.png

Copie-o e acesse este link para que possamos dar continuidade: https://discordapi.com/permissions.html. Nesse site, nós podemos gerar o link de convite, no qual você irá precisar para adicionar o BOT no seu servidor do Discord. Cole o ID que você copiou neste campo:
tiQpGiN.png

Também, selecione a permissão de administrador, que fica logo acima:
uvR0jRB.png

Feito todos os passos, copie o link, abra uma nova aba no seu navegador e acesse o link gerado. Ele é parecido com este:
dNL45ii.png

Assim que você acessar, selecione o servidor no qual você quer adicionar o BOT e confirme tudo o que é pedido.
Caso você tenha feito corretamente, o seu BOT já está no seu servidor. Vamos a próxima seção.

Clonando o repositório do BOT
Optei por criar um repositório no GitHub para que fique mais fácil este tutorial. Se você não sabe o que é clonar, apenas clique no botão de baixar, ao invés de clonar. Ele é assim:
4ObdWkK.png

Clique em Download ZIP. Uma vez que temos o repositório no computador, descompacte-o na área de trabalho mesmo. Feito isso, uma pasta será criada. Agora, abriremos o VSCode. Siga estas instruções:
Wf23PyW.png

Você irá selecionar a sub-pasta, que está dentro do pasta descompactada. Preste atenção ao selecionar. Há uma outra pasta dentro daquela que extraímos, abra a pasta correta. O resultado deve ser este:
ijHT8ip.png

Ignore os ícones, fonte, cor de fundo. São extensões que eu uso. Vamos a próxima seção.

Como instalar os pacotes da aplicação
Ainda no VSCode, pressione CTRL + ' (aspas simples). O terminal irá abrir. Com ele aberto, digite o comando npm install. Os pacotes serão instalados - uma nova pasta e arquivo serão gerados. Não se preocupe com isso, não faz parte deste tutorial. Próxima seção!

Como habilitar o Modo Desenvolvedor no Discord
Para que nós possamos avançar a próxima seção, nós precisamos habilitar o modo desenvolvedor, para obter os IDs de canais, servidor, usuário, cargos e outros. É simples. Acesse as configurações da sua conta, clique na aba Aparência, desça tudo e irá se deparar com isto:
4UxsjaY.png

O meu já está ativado. Caso o seu não esteja, ative-o. Next...

Configurando as variáveis do BOT
Agora que nós já podemos copiar o ID de alguns elementos do Discord, iremos configurar os arquivos que estão dentro da pasta config, abra-a. Os arquivos são estes:
nlM7xJt.png

Primeiramente, crie um canal no seu servidor do Discord e copie o ID dele. Basta clicar com o botão direito em cima e copiá-lo.
QTr1AfA.png

Abra o arquivo channel.js e apenas altere o valor que está lá.
VsczuVj.png

Salve o arquivo e abra o próximo, guild.js. Para eu não me estender muito, você fará os mesmos passos acima, copiando o ID e substituindo. Para copiar o ID do seu servidor, basta clicar com o botão direito em cima do nome dele. Já no arquivo mta.js, você deve alterar as informações de acordo com o seu servidor. Veja a explicação abaixo.


ip - do seu servidor.
httpPort - a porta HTTP do seu servidor, você pode consultá-la aqui neste site.
username - crie um usuário no seu servidor e dê permissões administrativas para ele.
password - a senha que você colocou no usuário.
ATENÇÃO: USE UM USUÁRIO E SENHA QUE NÃO SEJA FÁCIL DE DESCOBRIR, LOGO NÃO COMPARTILHE COM NINGUÉM.

Em relação ao outro arquivo, prefix.js, é apenas o prefixo que você usará nos comandos, altere se quiser. O arquivo token.js fala por si só, você irá pegar o token de acesso do seu BOT, lá no site do Discord Developers e substituir dentro do arquivo. Acompanhe na imagem abaixo.
Gyi6j2I.png

Bom, já disse na seção passada que você não deve compartilhar o token. Seguiremos a próxima.

Clonando o repositório do resource
Assim como no repositório do BOT, o resource também está no GitHub. Baixe-o, da mesma forma do BOT, mas agora adicione no seu servidor MTA, na pasta resources. Lembrando que deve-se extrair e colocar a pasta correta, verifique bem a sub-pasta. Uma vez adicionado no seu servidor, use o comando refresh para atualizar a lista de resources e inicie-o. Ah, e também dê permissões administrativas para ele! Pronto. Já podemos prosseguir.

Iniciando o BOT
Estamos quase ao ponto de executar os comandos. Vamos iniciar o BOT. Agora no VSCode, naquele mesmo terminal, use o comando npm start. Se tudo foi feito corretamente, ele irá se iniciar sem erros e uma mensagem dizendo que o BOT foi ligado deve aparecer.

Testando os comandos
Lembra que nós criamos um canal para executar os comandos? Pois é agora que iremos utilizá-lo. Lembre-se: o seu servidor deve estar ligado - entre nele também para que você possa ver as mensagens no chat.

Alguns comandos que eu fiz, apenas para exemplificar. Você pode adicionar mais comandos se quiser.
Se você não alterou o prefixo, aqui estão os comandos que fiz. (Você deve ser ADMINISTRADOR do seu servidor para executá-los)
$settime <hora> <minuto> - $settime 12 00 | Irá alterar o clima no servidor.
$text <mensagem> - $text opa, jogadores, tudo bem? | A mensagem será enviada no chat do servidor.
$status | Mostrará algumas informações do servidor no chat do Discord.
$mute <jogador> - $mute andr0xy | O jogador ficará mutado até se reconectar.
$givemoney <jogador> <quantia> - $givemoney andr0xy 15000 | Dá dinheiro ao jogador.
$cgroup <nome> - $cgroup VIP | Cria um grupo na ACL.

Apenas uma observação: é possível sim, nos comandos que envolvem jogadores, executá-los pelo ID. Basta você editar o resource - não irei explicar como faz isso, pois não tem relação ao tutorial.

Agradecimento & Informações
Muito obrigado por seguir o tutorial.
Fiz com o ❤ para toda a comunidade. Espero que vocês evoluam ambos códigos e que isso se torne muito maior dentro do servidor de vocês. Lembre-se que tudo é possível no MTA, contribuam sempre de alguma forma para que outros também possam evoluir. A união é importante nessa área. Busquem conhecimento!


Crédito ao autor da SDK, o que faz ser possível conectar-se ao servidor MTA.
4O4 - GitHub
 

 

Edições neste tutorial
28.01.2021 - AVISO: renomeie o resource para discordapp.
29.01.2021 - CORREÇÃO: texto confuso na seção Clonando o repositório do BOT.
29.01.2021 - AVISO: código do resource refatorado, sendo mais fácil adicionar novos comandos.

Edited by andreisrw
  • Like 5
  • Thanks 2
Link to post
  • Lord Henry featured this topic
  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...