GitHunt
AT

AthilioDev/BOT-Puni-o

Bot de punições, controle de staff e tickets para Discord

BOT-Punição

Node
Discord
MySQL
SQLite

Bot de punições, controle de staff e tickets para Discord, desenvolvido em Node.js utilizando Discord.js v13, com suporte a MySQL e SQLite para armazenamento de dados e histórico.

Projetado para comunidades que precisam de organização, logs detalhados e controle administrativo sólido.


📦 Tecnologias Utilizadas

  • Node.js
  • Discord.js v13
  • MySQL / MySQL2
  • SQLite (better-sqlite3 + quick.db)
  • discord-modals
  • glob
  • colors

📋 Dependências

{
  "better-sqlite3": "^8.2.0",
  "colors": "^1.4.0",
  "discord-modals": "^1.3.9",
  "discord.js": "^13.17.1",
  "glob": "^11.0.0",
  "mysql": "^2.18.1",
  "mysql2": "^3.11.3",
  "quick.db": "^9.1.7"
}

📥 Instalação

Clone o repositório:

git clone https://github.com/AthilioDev/BOT-Puni-o.git
cd BOT-Puni-o

Instale as dependências:

npm install

⚙️ Configuração

Edite o arquivo config.json:

{
  "token": "",
  "prefix": ".",
  "mysql": {
    "host": "127.0.0.1",
    "user": "root",
    "password": "",
    "database": "kaduzera"
  },
  "servidor": {
    "servername": "Kaduzera Community",
    "idserver": "",
    "canallogs": "",
    "canalpunicao": "",
    "cargostaff": "",
    "bannedRole": "",
    "visitorRole": "",
    "approvedRole": "",
    "adv1Role": "",
    "adv2Role": "",
    "adv3Role": "",
    "canalabrirticket": "",
    "canallogsair": "",
    "canallogentrar": ""
  }
}

🔑 Explicação das Configurações

Bot

  • token → Token do bot no Discord Developer Portal
  • prefix → Prefixo dos comandos (ex: .)

Banco de Dados (MySQL)

  • host → IP ou hostname do banco
  • user → Usuário do MySQL
  • password → Senha do MySQL
  • database → Nome da database

Servidor Discord

  • canallogs → Canal de logs gerais
  • canalpunicao → Canal exclusivo de punições
  • cargostaff → Cargo da staff
  • bannedRole → Cargo aplicado a usuários banidos
  • visitorRole → Cargo de visitante
  • approvedRole → Cargo de aprovado/liberado
  • adv1Role / adv2Role / adv3Role → Cargos de advertência
  • canalabrirticket → Canal para abertura de tickets
  • canallogentrar → Log de entrada de membros
  • canallogsair → Log de saída de membros

🗄️ Banco de Dados

O repositório inclui arquivo SQL (db.sql) para criação das tabelas necessárias.
Importe no MySQL antes de iniciar o bot.


🚀 Inicialização

Execute o bot com:

node index.js

🛠️ Funcionalidades

  • Sistema de punições automatizado
  • Advertências por nível (ADV 1, 2 e 3)
  • Banimento via cargo
  • Sistema de tickets com modais
  • Logs de entrada, saída e punições
  • Controle de permissões por cargo
  • Persistência de dados em MySQL e SQLite
  • Estrutura modular com handlers

🔐 Segurança

  • Nunca compartilhe o token do bot
  • Restrinja comandos sensíveis à staff
  • Utilize usuário MySQL com permissões limitadas

📄 Licença

Uso permitido para comunidades e estudos.
Revenda ou redistribuição sem autorização do autor não é permitida.


❤️ Créditos

Feito com ❤️ por Athilio juntamente com o Kaduzera