Pular para conteúdo

Settings

Configurações gerais do bot guardadas na tabela settings do SQLite. Mudam na hora, sem reiniciar, e sobrevivem a reinícios. Para ver e alterar, use o /set.

Chave Tipo Padrão Descrição
agenda.max 1–500 50 Máximo de itens do /cron, somando lembretes e mensagens
alerta.intervalMin 1–60 5 Intervalo, em minutos, entre as verificações dos alertas de preço
alerta.max 1–100 20 Máximo de alertas de preço (somando /cotacao e /crypto)
backup.enabled on/off on Backup automático do banco, uma vez por dia
backup.hour 0–23 3 Hora (de Brasília) do backup automático
backup.keep 1–90 7 Quantos backups automáticos (e de antes de restaurar) guardar; os manuais ficam até um /backup -rm
backup.to texto (pode ser vazio) "" Destino do backup diário, além da cópia local: contato, grupo, número ou e-mail, como no -to. Vazio: só local. Para vários, use -to <destino> -to <destino>. Envio automático, sem pedir -sim
bot.admins lista (vazia) Outras pessoas que também usam os comandos admin: número com DDI (5521999999999) ou, pelo /set, o nome do contato (/Jorge Pereira/) ou a menção. Só o dono altera; o /bot +o/-o é o atalho. Veja Admins extras
bot.paused on/off off Bot desligado: todos os comandos ignorados, exceto o /bot (o mesmo do /bot -on/-off)
bot.users lista false Quem usa os comandos comuns (os não-admin), além de você e do bot.admins: false (ninguém), true (todos) ou pessoas e grupos (num grupo, todos ali usam, mas só dentro dele); uma pessoa só num grupo fica como telefone:id-do-grupo. Só o dono altera; o /bot +v/-v é o atalho. Veja Usuários
bot.users.cmds lista (vazia) Os comandos de cada usuário (o /bot +cmd/-cmd): item=/a,/b (só esses) ou item=!/a,/b (todos os comuns, menos esses), com o item do bot.users. Sem linha: todos os comuns. Veja Comandos de cada usuário
cache.editedRetentionDays 1–365 30 Dias que as mensagens editadas ficam guardadas para o /show -e
cache.reactionRetentionDays 1–365 30 Dias que as reações removidas ou trocadas ficam guardadas para o /show -r
cache.revokedRetentionDays 1–365 30 Dias que as mensagens apagadas ficam guardadas para o /show
commands.disabled lista (vazia) Comandos desativados em tempo de execução: o bot os ignora e eles somem do /help. O /set não pode ser desativado. Nomes desconhecidos são ignorados com aviso no log; aliases válidos são normalizados
cotacao.coins lista EUR, USDT Moedas habilitadas no /cotacao (USD, EUR, GBP, USDT); normalmente alterada pelo /cotacao -a/-d
crypto.coins lista BTC, ETH, SOL, HYPE Moedas do /crypto (só as suportadas); normalmente alterada pelo /crypto -a/-d
cve.max 1–20 10 Quantidade de CVEs exibidas pelo /cve (o /cve <max> sobrepõe)
cve.maxDays 1–120 7 Janela, em dias, do /cve -highscore
debug.copyTo texto (pode ser vazio) (vazio) Chat que recebe a cópia dos logs; configure pelo /debug -copy-to. Vazio: só console
debug.enabled on/off on se APP_ENV=dev Modo debug (o mesmo do /debug -on/-off)
debug.filter texto (pode ser vazio) (vazio) Filtro /regex/flags dos logs durante o debug. Vazio: sem filtro; /debug -off limpa. O filtro vale após a inicialização; matches são destacados no console com cores
debug.level 0–3 0 Nível cumulativo: básico, funções e comandos, integrações, desenvolvimento. Veja /debug
defi.aave.chains lista 1 8453 Redes (chain id) em que o /defi aave procura as posições: 1 (Ethereum), 8453 (Base)
defi.aave.wallet texto (pode ser vazio) (vazio) Carteira do /defi aave quando não há carteira cadastrada, usada quando AAVE_WALLET_ADDRESS não está no config/.env
defi.alerta.intervalMin 1–1440 10 Intervalo (minutos) entre as verificações do /defi -alerta; consulta as posições na Solana e na HyperEVM, conforme o protocolo
defi.aptos.apikey texto (pode ser vazio) (vazio) Chave da API da Aptos (Geomi) usada pelo /defi liquidswap, quando APTOS_API_KEY não está no config/.env. Opcional: sem ela, vale o limite anônimo por IP, que basta para o uso do bot. Exibido mascarado
defi.aptos.indexer URL https://api.mainnet.aptoslabs.com/v1/graphql Indexador GraphQL da Aptos usado pelo /defi liquidswap para achar as posições da carteira
defi.aptos.rpc URL https://api.mainnet.aptoslabs.com/v1 API REST do fullnode da Aptos usada pelo /defi liquidswap para ler as pools e os tokens. Exibido mascarado
defi.base.rpc URL https://mainnet.base.org RPC da Base usado pelo /defi aave, quando BASE_RPC_URL não está no config/.env. O público limita as consultas. Exibido mascarado
defi.ethereum.rpc URL https://ethereum-rpc.publicnode.com RPC da Ethereum usado pelo /defi aave, quando ETHEREUM_RPC_URL não está no config/.env. O público limita as consultas. Exibido mascarado
defi.hyperevm.rpc URL https://rpc.hyperliquid.xyz/evm RPC da HyperEVM usado pelo /defi no Project X. O público limita as consultas; um RPC próprio costuma ter a chave na URL. Exibido mascarado
defi.morpho.api URL https://api.morpho.org/graphql API GraphQL oficial do Morpho, usada pelo /defi morpho
defi.morpho.chains lista 8453 Redes (chain id) em que o /defi morpho procura as posições: 8453 (Base), 1 (Ethereum)...
defi.morpho.wallet texto (pode ser vazio) (vazio) Carteira do /defi morpho quando não há carteira cadastrada, usada quando MORPHO_WALLET_ADDRESS não está no config/.env
defi.solana.rpc URL https://api.mainnet-beta.solana.com RPC da Solana usado pelo /defi. Exibido mascarado (a URL costuma levar a chave)
email.alerts on/off on Alertas por e-mail (crash, queda, reconexão...) pelo SMTP do QR Code. Veja Alertas por e-mail
enquete.retentionDays 1–365 90 Dias que as enquetes e os votos ficam guardados para o /enquete -r
flood.intervalCommand 1–3600 2 Proteção contra flood: a janela, em segundos, em que se conta o flood.maxCommandRepeated, e quanto tempo o bot ignora quem passou do limite. Veja Proteção contra flood
flood.maxCommandRepeated 0–100 3 Quantas vezes quem não é admin pode repetir o mesmo comando em flood.intervalCommand segundos; passou, o bot avisa uma vez e ignora a pessoa até o intervalo acabar. 0 desliga
get.maxDownloadMB 10–2000 200 Tamanho máximo baixado pelo yt-dlp no /get e no /sticker, antes da conversão
get.maxSizeMB 1–100 20 Tamanho máximo do arquivo convertido pelo ffmpeg no /get e no /sticker
gif.tag texto fail Tag padrão do /giphy
giphy.api.key texto (pode ser vazio) (vazio) Chave do GIPHY, usada quando GIPHY_API_KEY não está no config/.env. Exibida mascarada (••••1234); /set -reset giphy.api.key apaga
monitor.enabled on/off on Consultas periódicas do /monitor; off pausa sem apagar contatos ou histórico
monitor.max 1–5 5 Máximo de contatos monitorados. Mais contatos aumentam as consultas e o risco de bloqueio; limite absoluto de 5. Remova contatos antes de reduzir abaixo do total cadastrado
monitor.maxRecords 1–1000 30 Máximo de horários guardados por contato e exibidos em /monitor e /monitor -l. Reduzir remove imediatamente os horários mais antigos excedentes
monitor.pool 120–86400 300 Intervalo mínimo em segundos por contato: padrão 5 min, mínimo 2 min. Intervalos curtos podem contribuir para bloqueio pelo WhatsApp; nenhum intervalo é garantidamente seguro
news.brasil lista 15 blogs do feedspot Feeds RSS do /news -brasil
news.g1 lista https://g1.globo.com/dynamo/rss2.xml Feeds RSS do /news -g1
news.gazeta lista https://www.gazetadopovo.com.br/feed/rss/brasil.xml Feeds RSS do /news -gazeta
news.hack lista The Hacker News, BleepingComputer, Krebs on Security Feeds RSS do /news -hack
news.max 1–10 5 Manchetes exibidas pelo /news (o /news <quantidade> sobrepõe)
openai.api.key texto (pode ser vazio) (vazio) Chave da OpenAI, usada quando OPENAI_API_KEY não está no config/.env. Exibida mascarada (••••1234); /set -reset openai.api.key apaga
openai.api.model texto (da lista) gpt-4o-mini Modelo do /gpt, usado quando OPENAI_MODEL não está no config/.env. Aceitos: os listados por /gpt -m
openai.timeout.ms 5000–300000 60000 Timeout do /gpt, usado quando OPENAI_TIMEOUT_MS não está no config/.env
pixelart.maxParts 1–10 3 Máximo de partes do /pixelart quando a arte é mais alta que 4096 px
pixelart.packs lista chuck-norris-lvl Packs do 16colo.rs sorteados pelo /pixelart sem argumentos
show.alert.deleted on/off on Avisa no seu privado quando alguém apaga uma mensagem; off só guarda para o /show
show.alert.edited on/off on Avisa no seu privado quando alguém edita uma mensagem; off só guarda para o /show -e
show.alert.reaction on/off on Avisa no seu privado quando alguém remove ou troca uma reação; off só guarda para o /show -r
show.alert.status on/off on Recupera status apagados; off ignora (nem alerta, nem /show)
show.delayMs 0–10000 700 Intervalo entre os envios do /show
show.max 1–100 20 Máximo de mensagens por /show -N
stats.enable on/off on Conta as mensagens de cada chat para o /stats; off para de contar (o histórico fica)
stats.retentionDays 7–365 90 Dias que os contadores do /stats ficam guardados (e período máximo do /stats -N)
sticker.author texto https://github.com/jpereira/zapbot/ Autor das figurinhas
sticker.name texto ZapBot Nome do pacote das figurinhas
tempo.city texto Niteroi, Rio de Janeiro, Brazil Cidade do /tempo quando nenhuma é informada
tempo.maxDays 1–16 16 Máximo de dias do /tempo N (ou Nd), contando hoje; 16 é o limite da Open-Meteo
tldr.maxMsgs 10–2000 500 Máximo de mensagens enviadas à OpenAI por /tldr
traduzir.api.key texto (pode ser vazio) (vazio) Chave do Google Cloud Translation, usada quando GOOGLE_TRANSLATE_API_KEY não está no config/.env. Exibida mascarada (••••1234); /set -reset traduzir.api.key apaga
traduzir.lang texto pt Idioma de destino padrão do /traduzir (código: pt, en, es...)
watch.hitsRetentionDays 1–365 30 Dias que as ocorrências do /watch ficam guardadas
watch.max 1–100 20 Máximo de regras do /watch
watch.rules lista (uma por linha) (vazia) Regras do /watch: texto ou /regex/flags. Criadas por /watch <regra> e removidas por /watch -rem N
watch.showMax 1–100 20 Máximo de ocorrências exibidas pelo /watch, inclusive com -N e -show

Uma chave nova é declarada em SETTINGS_SCHEMA (src/settings.js), em ordem alfabética, com padrão, tipo, descrição e limites (allowEmpty para texto que pode ficar vazio, secret para mascarar o valor no /set e nos logs), e lida com getSetting('<chave>'). Valores inválidos no banco são ignorados no boot (vale o padrão, com aviso nos logs).