@Genkail

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

Может кто отправить код для системы уровней в дискорде? (например получил уровень(уровни выдаются за определенное количество сообщений) - выдалась роль, получил 2ой уровень - роль за первый уровень забралась и выдалась за 2)
  • Вопрос задан
  • 11075 просмотров
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы