Невозможно назначить усилитель опыта для всех, использующих quick.db в синтаксисе foreach discord. js - PullRequest
0 голосов
/ 01 августа 2020

Итак, я пытаюсь создать глобальную систему XP Booster, и теперь проблема в том, что в синтаксисе foreach он не устанавливает ее для всех участников, фактически, он не устанавливает ее ни для кого, на самом деле он может 'не получить мои параметры, введенные в команду, в этом случае он не может получить мой параметр' kolicina ', который означает, насколько это повысит XP. Это команда:

const Discord = require("discord.js");
const db = require("quick.db");

exports.run = async (client, message, args) => {
            let allowed = false;
            if (message.member.permissions.has("ADMINISTRATOR")) allowed = true;

            let vrsta = args[0];
            let kolicina = args[1];

            if (!allowed)
                return message.channel.send({
                    embed: {
                        title: `:star: Booster`,
                        description: "Nemaš permisiju za korištenje ove komande!",
                        color: 0x4CAAFF
                    }
                });

            if (!vrsta)
                return message.channel.send({
                    embed: {
                        title: `:star: Booster`,
                        description: "Nisi napisao/la vrstu boostera (1 - xp, 2 - kviz, 3 - drop)!",
                        color: 0x4CAAFF
                    }
                });
            if (!kolicina)
                return message.channel.send({
                    embed: {
                        title: `:star: Booster`,
                        description: "Nisi napisao/la količinu boostera!",
                        color: 0x4CAAFF
                    }
                });
            if (isNaN(vrsta) || isNaN(kolicina))
                return message.channel.send({
                    embed: {
                        title: `:star: Booster`,
                        description: "Svi argumenti moraju biti brojevi.",
                        color: 0x4CAAFF
                    }
                });
            if (vrsta === 2 && client.globalKviz === true)
                return message.channel.send({
                    embed: {
                        title: `:star: Booster`,
                        description: "Taj booster je vec ukljucen!",
                        color: 0x4CAAFF
                    }
                });
            if (vrsta === 3 && client.globalDrop === true)
                return message.channel.send({
                    embed: {
                        title: `:star: Booster`,
                        description: "Taj booster je vec ukljucen!",
                        color: 0x4CAAFF
                    }
                });

            if (vrsta === 1) {
                message.guild.members.cache.forEach(member => {
                    db.set(`boosterxp_${message.guild.id}_${member.id}`, kolicina);
                });
                message.channel.send("uspesno odradjeno.");
            }
            exports.help = {
                name: "boosterall",
                description: "uključivanje globanih boostera",
                usage: "boosterall",
                category: "admin",
                listed: true
            };

Значит, он не может установить мой параметр (kolicina) в базу данных boosterxp, есть ли способ сделать это?

1 Ответ

0 голосов
/ 03 августа 2020

Существует ли boosterxp_${message.guild.id}_${member.id} в quick.db уже? Или вам нужно это определить? Как я могу видеть из quick.db s npm page,

// Setting an object in the database:
db.set('userInfo', { difficulty: 'Easy' })
// -> { difficulty: 'Easy' }
 
// Pushing an element to an array (that doesn't exist yet) in an object:
db.push('userInfo.items', 'Sword')
// -> { difficulty: 'Easy', items: ['Sword'] }

В вашем случае это будет

message.guild.members.cache.forEach(member => {
   db.set(`boosterxp_${message.guild.id}_${member.id}`, { kolicina: kolicina });
});

ukoliko ti ovo ne radi, dodaj me na Discordu: deyyan # 8737 da pokusamo ovo riješiti na lakši način

...