Como criar um bot no Discord e hospedá-lo no seu VPS: tutorial passo a passo

Como criar um bot no Discord e hospedá-lo no seu VPS: tutorial passo a passo

Adicionar bots ao seu servidor Discord permite automatizar tarefas e agregar novos recursos ao ambiente. Embora existam muitos bots populares do Discord prontos para usar, você pode precisar criar um para suas necessidades específicas.

Neste artigo, explicaremos como hospedar um bot do Discord com o plano de hospedagem de servidor privado virtual da Hostinger. Primeiro, vamos explorar as etapas para desenvolver do zero seu próprio bot para Discord.

Então, vamos explicar como comprar um plano de VPS da Hostinger e configurar o ambiente do servidor para o seu bot do Discord. Além disso, você aprenderá sobre a otimização e monitoramento do desempenho do bot. Vamos lá?

Como criar um bot no Discord

Hospedar seu próprio bot do Discord, já adaptado às suas preferências, requer que ele seja desenvolvido manualmente. As etapas podem variar dependendo da funcionalidade do seu bot e da linguagem de programação escolhida, mas o procedimento geral é sempre o mesmo.

1. Crie uma conta para o seu bot no Discord

Para começar a criar um bot do Discord, crie uma conta no Portal do Desenvolvedor do serviço. Nesta plataforma, você criará os bots, gerenciará suas configurações e gerará o link de autenticação para convidá-los para o seu servidor Discord.

Para criar uma conta no Discord, vá para a página de registro. Você fará login automaticamente na nova conta do Discord se abrir o Portal do Desenvolvedor. Depois, siga estes passos:

  1. Na barra lateral, clique em Applications.
  2. Selecione New Application no canto superior direito.
  3. Insira o nome do bot e marque a caixa referente à política de privacidade. Clique em Create.
  4. Altere o Ícone do Aplicativo. Insira a Descrição e as Tags. Clique em Save Changes para confirmar.
  5. Copie o ID do Aplicativo e salve-o no seu computador. Precisaremos dele mais tarde para habilitar o Modo Desenvolvedor.
configurando aplicações no portal de desenvolvedor do discord

Então, configure seu token de bot – uma chave de autenticação que permite que sua aplicação se comunique com a API de bot do Discord. Para fazer isso, siga os passos abaixo:

  1. Navegue até a barra lateral → Bot.
  2. Altere o nome de usuário do seu bot.
  3. Clique em Reset Token. Clique em Yes, Do It! para confirmar.
  4. Copie o token do bot e salve-o no seu computador.

Inseriremos este token no código fonte do bot. Tenha em mente que você precisa manter o código protegido, pois vazá-lo pode expor seu bot e servidor do Discord a riscos de segurança.

Agora, você deve habilitar o Modo Desenvolvedor para evitar pagamentos relacionados aos SKUs do seu bot do Discord. Para fazer isso, siga os passos abaixo:

  1. Faça login em seu aplicativo Discord → User Settings  Advanced
  2. Ative o Developer Mode.
  3. Habilite a opção Application Test Mode
  4. Insira o ID do seu aplicativo. Defina o tipo de origem da URL como Localhost e o número da porta como 8080 .
  5. Clique em Activate.
configurações no portal de desenvolvedor do discord

2. Defina as permissões do bot

Após configurar o aplicativo, configure as permissões da sua conta do Discord e o método de autenticação. Para fazer isso, siga os passos abaixo:

  1. Na página Applications, selecione OAuth2 → General na barra lateral.
  2. Em Default Authorization Link, selecione In-app Authorization como o método.
  3. Marque a caixa bot.
  4. Selecione as Permissões do Bot de acordo com suas necessidades.
  5. Clique em Save Changes.
  6. Navegue para a barra lateral → OAuth2 → URL Generator.
  7. Marque bot como o escopo da sua aplicação.
  8. Verifique novamente as mesmas caixas para as Permissões do Bot.
  9. Copie a URL Gerada e salve-a no seu computador. Ela deve conter o ID do Cliente do seu bot.

Importante! Evite dar permissões de Administrador a um bot, pois ele pode modificar as configurações do seu servidor.

Além disso, vá para a seção Bot na barra lateral e conceda ao bot Intenções de Gateway Privilegiadas. Ative todas as intenções se você não tem certeza de qual delas o seu bot usará. No entanto, tenha em mente que isso concederá ao bot acesso a vários dados do Discord.

Agora, abra o link de autenticação usando um navegador para convidar o bot para o seu servidor Discord e conceder as permissões necessárias.

convidando bot para seu servidor do discord

No menu suspenso, selecione o servidor em que deseja adicionar o bot e clique em Continuar. Revise as permissões que você concederá ao bot. Se você deseja revogar alguma delas, desmarque as caixas correspondentes. Então, clique em Autorizar para confirmar.

3. Escolha uma linguagem de programação

Algumas das linguagens de programação mais populares para criar um bot do Discord incluem JavaScript e Python. Embora você possa usar C++, os wrappers da API do Discord disponíveis suportam apenas essas linguagens.

Esses wrappers simplificam a interação entre o software e seu código, tornando o desenvolvimento mais fácil. Considerando que a linguagem e o wrapper não afetam a funcionalidade do seu bot, escolha um com base na sua familiaridade e preferências.

Para quem está começando, recomendamos o uso do Python, uma das melhores linguagens de programação para iniciantes e uma das mais simples. Ele é mais fácil de ler e gerenciar do que o JavaScript, simplificando o processo de depuração. Neste tutorial, usaremos o Python para criar o nosso bot.

Antes de prosseguir, baixe o Python e um editor de código. Ao escolher o seu editor de código, escolha um com recursos que ajudem a simplificar seu processo de codificação, como destaque de sintaxe, auto-completar, detecção de erros e integração de módulos.

Recomendamos o Microsoft Visual Studio Code, pois ele é gratuito e oferece várias funcionalidades.

4. Crie o bot

Uma vez que o software e as ferramentas estejam prontos, crie uma pasta para os arquivos do seu bot do Discord. Então, abra o VSCode para acessar a pasta e criar arquivos de trabalho:

  1. Clique em Arquivo → Abrir pasta.
  2. Navegue até o diretório da sua nova pasta. Selecione a pasta e clique em Selecionar Pasta.
  3. Vá para a barra lateral do Explorador e clique no ícone de adicionar novo arquivo.
  4. Crie um arquivo main.py para armazenar todos os códigos do seu bot. Para um bot avançado, você poderá precisar de vários arquivos vinculados a main.py.
  5. Crie um arquivo .env para armazenar o token do seu bot. Seu código Python chamará este arquivo para autenticar a conexão com a API do Discord.

Importante! Deixe o nome do arquivo .env em branco. Caso contrário, o código do bot não o encontrará e não lerá a variável de ambiente.

codificando bot para discord no vscode

Dependendo da funcionalidade do seu bot no Discord, o código pode variar. Para este tutorial, mostraremos como criar um bot do Discord que responde a um comando simples:

# Import the required modules
import discord
import os
from discord.ext import commands 
from dotenv import load_dotenv
# Create a Discord client instance and set the command prefix
intents = discord.Intents.all()
client = discord.Client(intents=intents)
bot = commands.Bot(command_prefix='!', intents=intents)
# Set the confirmation message when the bot is ready
@bot.event
async def on_ready():
    print(f'Logged in as {bot.user.name}')
# Set the commands for your bot
@bot.command()
async def greet(ctx):
    response = 'Hello, I am your discord bot'
    await ctx.send(response)
@bot.command()
async def list_command(ctx):
    response = 'You can use the following commands: \n !greet \n !list_command \n !functions'
    await ctx.send(response)
@bot.command()
async def functions(ctx):
    response = 'I am a simple Discord chatbot! I will reply to your command!'
    await ctx.send(response)
# Retrieve token from the .env file
load_dotenv()
bot.run(os.getenv('TOKEN'))

Aqui está a explicação de como este trecho de código funciona:

  • As palavras-chave import recuperam o código de um módulo e o adicionam ao arquivo do seu bot, permitindo que você use uma função sem escrevê-la manualmente. Por exemplo, importamos a biblioteca Discord.py para habilitar o decorator bot.command.
  • Definimos as variáveis que o código usará. No nosso caso, as variáveis do bot são intentsclient e bot.
  • O decorator @bot.event define eventos que acionam a função de corrotina. No trecho, instruímos o bot para exibir uma mensagem de confirmação uma vez que ele seja executado com sucesso.
  • O decorator @bot.command  define o comando que aciona o bot. Nós também determinamos como e quando o bot responde.
  • A função load_dotenv lê a variável de ambiente do arquivo .env . Neste caso, ele recupera o token.
  • Usando o método os.getenv , o código extrai o valor do token e o usa para executar o bot com o decorator bot.run.

Além de responder a comandos, você pode adicionar recursos avançados como controle de voz ou campo de entrada. Para aprender mais sobre as funções, leia a documentação do discord.py.

No arquivo .env , cole o seguinte trecho. Substitua seutoken pela chave de autenticação:

TOKEN=seutoken

Para verificar se o seu código está funcionando corretamente, clique no botão Executar Arquivo Python no canto superior direito do VSCode. No entanto, você deve instalar as dependências para executar o bot.

Dica

Se você está desenvolvendo em equipe e atualizando continuamente o bot do Discord, recomendamos a criação de um repositório Git para simplificar o processo de desenvolvimento. Leia nossos tutoriais de Git para aprender mais sobre isso.

Como hospedar um bot do Discord

Agora, você precisa hospedar seu bot do Discord para torná-lo acessível a qualquer momento. Para este tutorial, usaremos um plano de Servidor VPS da Hostinger rodando Ubuntu 22.04. Para outros provedores de hospedagem e sistemas operacionais, as etapas podem ser diferentes.

1. Adquira uma hospedagem VPS

Embora você possa criar um servidor de hospedagem de bot do Discord no seu sistema local, o sistema deve permanecer funcionando 24 horas por dia, 7 dias por semana. Isso pode causar danos ao hardware a longo prazo e requer muito esforço de gerenciamento.

Um serviço de hospedagem terceirizado, como um VPS, é mais conveniente e eficiente em termos de tempo. O provedor gerencia o servidor, permitindo que você se concentre no desenvolvimento e otimização do seu bot.

No entanto, escolher uma hospedagem pode ser difícil, pois vários provedores oferecem servidores de hospedagem para bots do Discord. Para escolher o melhor Servidor VPS para bots do Discord, considere suas características, segurança, tempo de atividade e preço.

Por exemplo, a Hostinger oferece planos de Servidor VPS a partir de R$ 29.99/mês com várias funcionalidades:

  • Snapshot. Os usuários podem capturar o estado atual do servidor para uma restauração fácil.
  • Hardware confiável. O VPS da Hostinger utiliza armazenamento SSD e uma CPU de alto desempenho para garantir um desempenho e tempo de atividade otimizados.
  • Vários data centers. Os usuários da Hostinger podem escolher entre vários locais de servidores para minimizar a latência.
  • Proteção DDoS. Nosso VPS usa um firewall e filtragem de tráfego integrada para proteção DDoS.
  • Suporte a SSH. Os usuários podem se conectar ao seu VPS usando o protocolo de shell seguro (SSH) para gerenciar eficientemente seu servidor remoto.
  • Acesso FTP. Todos os planos VPS da Hostinger suportam FTP, permitindo que os usuários transfiram arquivos facilmente entre sistemas.
  • IP Dedicado. Os usuários recebem um endereço IP dedicado para eliminar o limite de taxa entre o servidor Cloudflare e o Discord.

À medida que diferentes servidores convidam seu bot, você precisa de mais recursos para lidar com as solicitações. Na Hostinger, nossos planos de VPS também são facilmente atualizáveis para garantir a escalabilidade do seu Bot do Discord.

Depois que você comprar um plano de hospedagem da Hostinger, selecione seu novo servidor no menu VPS na barra superior. Então, complete o processo de configuração do VPS da Hostinger através do hPanel, nosso painel de controle intuitivo feito sob medida.

2. Configure o ambiente VPS

A implantação do bot do Discord num VPS requer a configuração do ambiente de hospedagem, para garantir que o software necessário esteja instalado. O software varia dependendo da linguagem e da funcionalidade do seu bot.

Para um bot Discord.js, instale o Node.js e o Gerenciador de Pacotes Node. Enquanto isso, aqui está o que você precisa para um bot baseado em Python:

  • Interpreter Python . Um ambiente que converte seu código Python em um formato legível por máquina, permitindo que seu bot do Discord funcione.
  • Gerenciador de pacotes Pip . Um sistema de gerenciamento de pacotes usado para instalar módulos e dependências para sua aplicação Python.
  • Virtualenv. Uma ferramenta para criar um ambiente privado virtual isolado para sua aplicação Python. Com ele, você não precisa instalar os pacotes Python globalmente, o que pode prejudicar outros projetos.

Sugestão de Leitura

Antes de prosseguir, leia nosso tutorial de Comandos Linux para aprender mais sobre suas funções.

Para instalar os componentes, conecte-se ao seu servidor usando aplicativos SHH, como o PuTTY, ou o Terminal. Os usuários da Hostinger podem encontrar as credenciais de login na aba Acesso SSH no menu de visão geral do VPS.

visão geral de vps no hpanel

Uma vez conectado, execute os seguintes comandos para atualizar o gerenciador de pacotes e instalar o software necessário para hospedar seu bot do Discord:

sudo apt update
sudo apt upgrade
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt install python3 python3-dev python3-venv python3-pip -y

Então, siga estas etapas para criar um ambiente virtual para o seu projeto Python:

  1. Execute este comando para criar um novo diretório para armazenar os arquivos:
sudo mkdir DiscordBot
  1. Altere o diretório atual para a nova pasta usando este comando:
cd DiscordBot
  1. Configure o novo ambiente virtual com o argumento venv:
sudo python3 -m venv ./venv
  1. Ative o ambiente virtual usando o comando source :
source ./venv/bin/activate

Sua linha de comando agora deve começar com (venv). Se o comando de origem não for encontrado, navegue até o caminho do diretório ~/DiscordBot/venv/bin usando o comando cd e execute o seguinte:

source activate
configurando vps para hospedar bot do discord

3. Faça o upload do bot

Após configurar o ambiente virtual, mova os arquivos de token e do bot para o novo diretório. Você pode fazer isso usando o comando rsync, o protocolo scp ou um cliente SFTP.

Recomendamos o uso do Protocolo Seguro de Transferência de Arquivos (SFTP), pois ele oferece uma interface gráfica do usuário e é mais seguro que o FTP padrão. A interface visual torna o processo mais simples e amigável para iniciantes.

conectando vps ao filezilla

Para este tutorial, usaremos o FileZilla para transferir os arquivos via SFTP. Confira o passo-a-passo:

  1. Baixe e instale o FileZilla.
  2. Abra o FileZilla. Insira o endereço IP do seu servidor, nome de usuáriosenha e número da porta. Por padrão, o número da porta é 22.
  3. Clique em Conexão Rápida.
  4. Uma vez conectado, localize o novo diretório ./venv na aba Site remoto.
  5. Arraste e solte os arquivos do bot do seu computador local para o diretório remoto.

Aguarde até que o processo esteja completo. O status da transferência de arquivos pode ser conferido na caixa abaixo da aba de conexão.

Então, retorne para o seu cliente SSH ou Terminal. Vá até o diretório do bot e instale todas as dependências. Neste tutorial, vamos instalar o wrapper discord.py  e o dotenv usando este comando:

sudo pip install discord.py python-dotenv

Dica

Está tendo dificuldade em escrever comandos bash ou gerenciar seu VPS Linux? Insira prompts de IA para gerenciamento de VPS no assistente da Hostinger para gerar comandos ou códigos facilmente.

4. Inicie o bot

Para executar o bot, defina o diretório atual para a localização do arquivo main.py e execute o seguinte comando. Se você usar outro nome de arquivo, altere-o de acordo:

python3 main.py

O terminal deve retornar a mensagem de confirmação escrita no arquivo do bot, que se parecerá com isso:

confirmaçao no terminal de instalação do bot discord

Se você abrir o servidor Discord onde o bot está localizado, ele aparecerá online. Para verificar se o seu bot está funcionando corretamente, insira um comando e ele deve responder adequadamente.

No entanto, este bot está ativo apenas na sua sessão atual. Se você fechar o cliente SSH ou o Terminal, a sessão será encerrada e o bot será desligado. Você pode usar diferentes ferramentas para manter seu bot em funcionamento:

  • Linux Screen. Uma ferramenta que permite aos usuários criar múltiplos Terminais virtuais dentro de uma sessão. Os processos dos Terminais virtuais continuam rodando em segundo plano depois que você fecha a sessão e se desconecta do servidor.
  • tmux. O Multiplexador de Terminal funciona de maneira semelhante ao Screen, permitindo que os usuários criem sessões virtuais e executem processos em segundo plano. Ele é mais fácil de usar do que o Screen, mas não possui alguns recursos e é menos estável.
  • PM2. Um gerenciador de processos de aplicação Node.js que mantém sua aplicação funcionando constantemente. Ele é nativo do JavaScript, mas funciona com outras linguagens de programação, incluindo Python.
  • Docker. Uma ferramenta de contêinerização que transforma seu bot do Discord em um daemon. Isso permite que seu bot funcione em segundo plano e reinicie automaticamente após uma falha no sistema.

Neste tutorial, vamos usar o Linux Screen, que é o mais simples e compatível com diferentes ambientes. Aqui estão as etapas para instalar e usar o Screen para executar seu bot do Discord no VPS Ubuntu:

  1. No terminal ou na aplicação SSH, execute o comando a seguir para instalar o Screen:
sudo apt-get install screen
  1. Execute este comando para criar uma nova sessão:
screen
  1. Use este comando no Terminal virtual para mudar o diretório de trabalho:
cd /DiscordBot/venv
  1. Inicie seu bot com o seguinte comando:
python3 main.py
  1. Quando o bot estiver rodando, aperte Ctrl + A + D para se desconectar da sessão do Screen.

Importante! Para derivados do Red Hat Enterprise Linux (RHEL), como o AlmaLinux e o CentOS, use yum em vez de apt para instalar o Screen.

Agora, a sessão continuará funcionando em segundo plano após a desconexão do servidor. Para se reconectar ao Screen, abra seu Terminal ou aplicativo SSH e digite:

screen -r

O Screen permite que você crie várias sessões para executar outros bots do Discord usando este comando:

screen -S session1

Substitua session1 pelo nome da sua sessão. Use um nome descritivo para te ajudar a identificar os processos facilmente. Para listar as sessões do usuário atual, use o seguinte:

screen -ls

5. Monitore e mantenha o desempenho do bot

Após implantar o bot do Discord, monitore-o regularmente para garantir um desempenho otimizado. Além disso, gerenciar o bot corretamente ajuda você a identificar possíveis problemas rapidamente antes que eles afetem a usabilidade da sua criação.

A primeira tarefa de monitoramento é habilitar o módulo logging do Python para rastrear os eventos e erros do seu bot do Discord. Ele fornece insights sobre a funcionalidade do seu bot para facilitar a depuração e solução de problemas.

Por exemplo, adicione o seguinte trecho de código ao arquivo do seu bot para registrar erros de execução de comandos em um arquivo  bot.log  e no servidor Discord:

# Import the Python logging module
import logging
# Set the logging settings
logging.basicConfig(level=logging.INFO,
   format='[%(asctime)s] [%(levelname)s]: %(message)s',
   handlers=[
      logging.FileHandler('bot.log'),  # Save logs to a file
      logging.StreamHandler()         # Display logs in the console
])

Em seguida, adicione o decorator bot.event para imprimir a mensagem de erro no seu servidor Discord:

# Set what the bot does when encountering an error
@bot.event
async def on_command_error(ctx, error):
   error_message = f’Error occurred while processing command: {error}’
   logging.error(error_message)
   await ctx.send(error_message)

Além disso, use ferramentas como o UptimeRobot para monitoramento de tempo de atividade do bot do Discord. Para acompanhar seu uso e atividade, use uma ferramenta de monitoramento de desempenho de aplicativos (APM) como o Grafana. Como o processo de configuração de cada ferramenta difere, verifique o manual delas para instruções.

Da mesma forma, monitore o uso de hardware do seu VPS para garantir que o bot tenha recursos suficientes para funcionar de maneira otimizada. Algumas métricas importantes para acompanhar incluem o uso de CPU, consumo de RAM, carga de armazenamento e condição da rede.

Se o seu servidor não tiver um painel de controle, use o psutil (no Python) ou um comando Linux como o vmstat . Esses métodos não oferecem uma interface gráfica do usuário (GUI), tornando o processo complicado e não amigável para iniciantes.

seção uso do servidor vps no hpanel

Os provedores de hospedagem geralmente fornecem um painel para rastrear o uso do servidor. Por exemplo, a Hostinger oferece um recurso de monitoramento de uso de recursos VPS no hPanel.

Recomendamos que você envie sua aplicação para um site de listagem de bots, como o top.gg, para torná-lo acessível a outros usuários do Discord.

Conclusão

Convidar bots para o seu servidor Discord permite que você adicione novos recursos e simplifique tarefas de moderação. Embora muitos bots pré-programados do Discord estejam disponíveis, você pode precisar criar um bot personalizado para as suas necessidades específicas.

Neste artigo, explicamos as etapas para criar e hospedar um bot do Discord em um VPS Linux. Aqui está o resumo do processo:

  1. Crie uma conta no Discord e registre a aplicação através do portal do desenvolvedor.
  2. Defina as permissões do bot e convide-o para o seu servidor Discord.
  3. Escolha uma linguagem de programação e um IDE.
  4. Escreva o código do seu bot do Discord.
  5. Compre um serviço de hospedagem para bot do Discord, como o VPS da Hostinger.
  6. Instale as dependências para configurar o ambiente do servidor de hospedagem.
  7. Faça o upload dos arquivos do bot e do token via SFTP.
  8. Inicie seu bot do Discord e use o Screen para mantê-lo funcionando 24/7.
  9. Monitore e mantenha o desempenho do bot.

Esperamos que este artigo tenha ajudado você a desenvolver e hospedar seu bot do Discord. Se você tiver alguma dúvida, deixe um comentário abaixo. Boa sorte!

Como criar um bot no Discord: perguntas frequentes

Nesta seção, responderemos várias perguntas comuns sobre desenvolvimento e hospedagem de bots personalizados para Discord.

O que é um bot do Discord?

Bots do Discord são aplicativos que você pode convidar para o seu servidor para executar tarefas específicas. Exemplos populares incluem bots de agendamento, moderação e música. Sites de listagem de bots, como top.gg, têm vários bots pré-construídos prontos para usar. No entanto, você pode querer criar e hospedar seu próprio bot do Discord do zero.

Como escolher o VPS certo para o meu bot do Discord?

Para escolher o serviço de hospedagem certo para o seu bot, considere os recursos do servidor, segurança, atendimento ao cliente e recursos integrados. Por exemplo, a Hostinger oferece recursos como suporte 24/7, suporte SSH e proteção DDoS em seus planos VPS. Temos uma garantia de 99,9% de tempo de atividade para garantir que seu bot do Discord esteja sempre funcionando.

Qual linguagem de programação devo usar para criar meu bot do Discord?

Você pode programar um bot do Discord usando JavaScript ou Python. Uma vez que a linguagem não afeta a funcionalidade do bot, faça a sua escolha acordo com sua experiência e preferências. Para iniciantes, recomendamos o Python, pois ele é mais fácil de aprender, ler e manter do que JavaScript, simplificando o processo de desenvolvimento de bots.

Posso rodar vários bots no mesmo servidor Discord?

Sim, você pode hospedar vários bots no mesmo servidor, desde que ele tenha armazenamento e capacidade de processamento suficientes. Caso contrário, seus bots vão ficar lentos ou indisponíveis. Além disso, você pode precisar usar um contêiner ou ambiente virtual para evitar problemas de incompatibilidade. 

Author
O autor

Bruno Santana

Jornalista formado pela Universidade Federal da Bahia e Especialista em Marketing de Conteúdo na Hostinger, onde atuo na criação e otimização de artigos úteis, envolventes e criativos em áreas como desenvolvimento web e, marketing. Além disso, sou colaborador eventual do site MacMagazine e da editoria de cultura do Jornal A Tarde, fascinado por arte, culinária e tecnologia.