@IlyaGermes00v

Как сделать систему уровней в дискорде?

Может кто отправить код для системы уровней в дискорде? (например получил уровень(уровни выдаются за определенное количество сообщений) - выдалась роль, получил 2ой уровень - роль за первый уровень забралась и выдалась за 2)
  • Вопрос задан
  • 11427 просмотров
Пригласить эксперта
Ответы на вопрос 2
Alexandre888
@Alexandre888 Куратор тега Боты
Javascript-разработчик
Ответ написан
Комментировать
AlmondPark33609
@AlmondPark33609
Занимаюсь кодингом как хобби
Здравствуйте! Знаю что вы уже знаете ответ на вопрос. Но отвечу для тех кто будет это смотреть.

let db = require('quick.db') // для примера использую простой в использовании пакет БД "quick.db"
let discord = require('discord.js')
let client = new discord.Client()

client.on('message', async (message) => {

let uid = message.author.id
let sid = message.guild.id
let xp = db.get(`xp_${sid}_${uid}`)
let lvl = db.get(`lvl_${sid}_${uid}`)


if (xp == null){
   db.set(`xp_${sid}_${uid}`, 0)
   xp = 0
}
if (lvl == null){
   db.set(`lvl_${sid}_${uid}`, 1)
   lvl = 1
}
db.add(`xp_${sid}_${uid}`, 1)
if (xp >= (lvl * 10)){ // прибавляем уровень если очков опыта больше/равно чем уровней в 10 раз
   db.add(`lvl_${sid}_${uid}`, 1) // добавляем 1 уровень
   db.set(`xp_${sid}_${uid}`, 0) // сбрасываем очки опыта
   message.channel.send(`${message.author}, ты поднял(-а) уровень!`)
}
})

Вот и получилась простая система уровня! А как выдавать роли есть в интернете
Конечно же можно использовать любую БД или даже файл JSON
Версия discord.js 12.5.3
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы