🔍 /
🧪 Exemplo

Sistema de níveis

Dá pontos de experiência por mensagem e avisa quando o usuário sobe de nível.

🎯 Objetivo

Recompensar atividade no chat com um sistema simples de XP e nível, persistido por usuário.

🧠 Explicação

A cada mensagem enviada (evento `messageCreate`), o script soma XP ao usuário usando `db.user().add()`. Quando o XP acumulado ultrapassa o limite do nível atual, o nível sobe e uma mensagem de parabéns é enviada.

💻 Código completo

on messageCreate(message)
  if message.author.isBot then
    return
  end

  let xp = db.user(message.author).add("xp", 10)
  let nivel = db.user(message.author).get("nivel")
  if nivel == nil then
    nivel = 1
  end

  let xpNecessario = nivel * 100
  if xp >= xpNecessario then
    db.user(message.author).set("xp", 0)
    db.user(message.author).add("nivel", 1)
    message.channel.send("🎉 " .. message.author.username .. " subiu para o nível " .. (nivel + 1) .. "!")
  end
end

✅ Resultado esperado

Usuários acumulam XP conforme conversam e recebem um aviso público sempre que avançam de nível.

🔗 Funções e páginas utilizadas