Um bot que lembra de coisas, como níveis, advertências ou configurações por servidor, precisa de um lugar para guardá-las. O seu plano de bot inclui um banco de dados. Você também pode usar um arquivo como o SQLite, que não exige configuração, mas é mais difícil de compartilhar entre dois bots.
Crie o banco de dados
- Abra o seu servidor no painel e clique em Bancos de dados no menu da esquerda.
- Clique em Novo banco de dados, escolha o tipo, adicione um rótulo como
bot-datae clique em Criar banco de dados. - Clique no banco de dados para ver o host, a porta, o nome do banco, o usuário e a senha. Veja Como usar bancos de dados com o seu servidor para a página completa.
Mantenha os dados fora do seu código
Coloque os dados de conexão em um arquivo que o seu código leia, como o .env, e não faça commit desse arquivo no git. Em Files (arquivos), crie o .env:
DB_HOST=your-host
DB_PORT=3306
DB_NAME=your-database
DB_USER=your-user
DB_PASSWORD=your-password
Node.js (mysql2 e dotenv)
Adicione mysql2 e dotenv ao package.json e depois:
require('dotenv').config();
const mysql = require('mysql2/promise');
const pool = mysql.createPool({
host: process.env.DB_HOST,
port: Number(process.env.DB_PORT),
database: process.env.DB_NAME,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
});
async function main() {
await pool.query('CREATE TABLE IF NOT EXISTS warnings (id INT AUTO_INCREMENT PRIMARY KEY, user_id VARCHAR(32), reason TEXT)');
const [rows] = await pool.query('SELECT COUNT(*) AS n FROM warnings');
console.log('warnings stored:', rows[0].n);
}
main();
Python (aiomysql)
Adicione aiomysql e python-dotenv ao requirements.txt e depois:
import os
import aiomysql
from dotenv import load_dotenv
load_dotenv()
async def get_pool():
return await aiomysql.create_pool(
host=os.environ["DB_HOST"], port=int(os.environ["DB_PORT"]),
db=os.environ["DB_NAME"], user=os.environ["DB_USER"],
password=os.environ["DB_PASSWORD"], autocommit=True,
)
Bom saber
- Use um pool de conexões, não uma conexão nova para cada comando.
- Sempre passe a entrada do usuário como parâmetros da query, nunca juntando texto dentro do SQL.
- Inclua o banco de dados nos seus backups: Como criar, baixar e restaurar backups.
- Se o bot não conseguir conectar, confira o host e a porta na página do banco de dados e se a senha não tem um espaço sobrando.





