Задать вопрос
@Felorez

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

Не могу понять как сделать эту шкалу. Шкала должна двигаться относительно опыта участника, хотел сделать через условные операторы, понял что это плохая затея. Опыт сохраняется в базу данных, шкала берёт из базы данных опыт участника, а потом двигает полоску относительно от уровня участника, в конце рисует самого себя на рисунке. Вкратце, хочу шкалу как у Juniper bot.
  • Вопрос задан
  • 162 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
fenrir1121
@fenrir1121
Начни с документации
1) Написать функцию, которая принимает на вход лвл и експ и рисует полоску, тестовые элементы
2) Написать функцию, которая принимает на вход пользователя и выводит ник, аватарку, статус
3) Написать функцию, которая объединяет все полученное в одну картинку и выводит по команде

Разбейте задачу до элементов, которые будут Вам понятны и будет представление как их реализовать.

Разумеется всегда можно изучить исходники аналогичных проектов на гитхабе, например Discord-levels-bot
Ответ написан
@K1tekat
let page = 0;
        let users = await User.find({guild:interaction.guild.id,level:{$ne:null}}).sort({ level: -1 }).limit(5)
        let text = '';
        let userss = await User.findOne({ userID: interaction.user.id ,guild:interaction.guild.id}) || new User({ userID: interaction.user.id,guild:interaction.guild.id });
        let n = 0;
        for (const user of users) {
            n++;
           
            let u = interaction.guild.members.cache.get(user.userID);
            if (!u) {
await User.deleteOne({userID:user.userID,guild:interaction.guild.id})
break;
}
            let a = u.user.username || "пусто";

            text += `**#${n}. ${a}**\n${user.level} уровень | ${user.msg}xp\n\n`;
        };
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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