Tutoriais

Hospedando bots de Discord e Telegram 24/7

Hospedando bots de Discord e Telegram 24/7

Seu bot funciona perfeitamente no seu computador — até você desligá-lo. Para que ele responda a qualquer hora, precisa rodar em um servidor. Um VPS pequeno é suficiente para vários bots.

Por que VPS em vez de serviços gratuitos

  • Sem hibernação: muitos planos gratuitos de hospedagem "dormem" após inatividade;
  • Sem limites de horas mensais;
  • Banco de dados e arquivos persistentes;
  • Vários bots no mesmo servidor, com custo fixo;
  • Controle total sobre versões e dependências.

1. Prepare o servidor

sudo adduser --disabled-password --gecos "" bots
sudo -iu bots

Instale o runtime da sua linguagem:

  • Node.js (discord.js, Telegraf, grammY): via nvm ou pacotes do NodeSource;
  • Python (discord.py, python-telegram-bot, aiogram): sudo apt install python3-venv.

2. Envie o código

git clone https://github.com/voce/meu-bot.git ~/meu-bot
cd ~/meu-bot

Node.js

npm ci --omit=dev

Python

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

3. Proteja o token

Nunca coloque o token do bot no código ou no Git. Use um arquivo .env:

DISCORD_TOKEN=seu_token_aqui
chmod 600 .env

Se um token vazar, gere outro imediatamente no Discord Developer Portal ou no @BotFather.

4. Mantenha o bot rodando

Opção A: systemd (qualquer linguagem)

/etc/systemd/system/meu-bot.service:

[Unit]
Description=Meu bot
After=network-online.target
Wants=network-online.target

[Service]
User=bots
WorkingDirectory=/home/bots/meu-bot
EnvironmentFile=/home/bots/meu-bot/.env
ExecStart=/home/bots/meu-bot/.venv/bin/python bot.py
# Node.js: ExecStart=/usr/bin/node index.js
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Se instalou o Node.js via nvm, use o caminho completo do binário (veja com which node).

sudo systemctl daemon-reload
sudo systemctl enable --now meu-bot
journalctl -u meu-bot -f

Opção B: PM2 (Node.js, mas também roda Python)

npm install -g pm2
pm2 start index.js --name meu-bot
pm2 startup && pm2 save

5. Webhook ou polling (Telegram)

  • Polling: o bot pergunta periodicamente por novas mensagens. Simples, não precisa de domínio;
  • Webhook: o Telegram envia as mensagens para uma URL HTTPS sua. Mais eficiente, exige domínio, SSL (Let's Encrypt) e um proxy reverso.

Bots de Discord usam conexão via gateway (WebSocket) — não é preciso abrir portas.

6. Banco de dados

  • SQLite: ótimo para bots pequenos (e rápido em disco NVMe);
  • PostgreSQL/MySQL: para bots maiores ou com painel web;
  • Redis: cache, filas e cooldowns.

Faça backup do banco regularmente.

7. Atualizando

cd ~/meu-bot && git pull
npm ci --omit=dev          # ou pip install -r requirements.txt
sudo systemctl restart meu-bot

Dicas

  • Um serviço por bot, com usuário e pasta próprios, se forem de projetos diferentes;
  • Trate rate limits das APIs (as bibliotecas oficiais ajudam);
  • Registre erros em logs e configure alertas;
  • Bots grandes de Discord podem precisar de sharding.

Conclusão

Um VPS pequeno mantém vários bots online 24/7, com estabilidade e baixa latência. Hospede os seus em um VPS-NVME-BR da VittHost, com NVMe e servidores no Brasil.Use o cupom SP-VITT20 e ganhe 20% de desconto na primeira fatura enquanto a promoção estiver ativa.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS