🗄️ Banco de dados
Guarde dados que sobrevivem entre execuções, por chave global, por usuário ou por servidor.
Diferente de uma variável let, o objeto db persiste os dados — eles continuam lá na próxima vez que o script rodar.
on command("visitas", message, args)
let atual = db.user(message.author).add("visitas", 1)
message.reply("Você já usou esse comando " .. atual .. " vezes.")
endHá três escopos:
- db — chave-valor global, compartilhada entre todos os scripts do servidor.
- db.user(user) — dados por usuário, com
.add()/.sub()prontos para contadores. - db.guild() — dados do servidor inteiro.
-- Configuração salva no servidor inteiro
db.guild().set("canal_boas_vindas", message.channel.id)
-- Lida em outro script, outro dia
let canalId = db.guild().get("canal_boas_vindas")
Dica: Use
json.encode()/json.decode() (veja json) para guardar objetos mais complexos em uma única chave.
Crie a variável pelo site antes de usar — tecnicamente db.set()/db.user().set() já gravam o valor mesmo numa chave nova, sem nenhum cadastro prévio. Mas essa chave fica "solta": só aparece se alguém souber o nome exato dela. O jeito certo é cadastrar a variável uma única vez no site, em Painel do servidor → Logic Engine → Variáveis (/dashboard/), definindo nome, tipo (texto, numero, boolean, lista ou objeto), escopo (global ou user), valor inicial e uma descrição.
- Depois de criada no site, a mesma variável fica disponível pro Logic Script (
db.get("nome")/db.user(u).get("nome")), pro Logic Nodes e pro Logic Builder — sem recadastrar em cada sistema. - O Menu de Variáveis também guarda um histórico de alterações manuais e permite buscar/filtrar por valor (ex.: todo usuário com
saldo >= 500) direto no painel, sem precisar escrever um script só pra consultar. - Nomes de variável são únicos por servidor (não dá pra ter
saldocomo Global esaldocomo Usuário ao mesmo tempo) e não podem usar nomes reservados da linguagem (user,message,channel,args, etc.).
Atenção: Se você só usar
db.set()/db.user().set() direto no script sem cadastrar a variável no site, ela funciona normalmente — mas não aparece no Menu de Variáveis, no seletor de variáveis do Logic Nodes/Builder, nem no histórico de alterações. Prefira sempre criar pelo site primeiro.