Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用quick.db设置说明_Javascript_Discord.js_Quick.db - Fatal编程技术网

Javascript 使用quick.db设置说明

Javascript 使用quick.db设置说明,javascript,discord.js,quick.db,Javascript,Discord.js,Quick.db,在我的discord机器人中,我希望所有用户都有一个可自定义的配置文件。只要他们执行命令!个人资料或!p,机器人将显示一个嵌入的bio(类似于“Hello World”之类的介绍)、自定义嵌入颜色以及其他数据库信息(.ie coins、energy等)。我想确保每当他们运行类似的东西时!描述Hello World,他们的配置文件嵌入将有消息Hello World,如果他们运行!另一次,他们的自定义嵌入的个人简历将被编辑为Lorem等。我使用quick.db使用简单的db.get和db.set函数

在我的discord机器人中,我希望所有用户都有一个可自定义的配置文件。只要他们执行命令!个人资料或!p,机器人将显示一个嵌入的bio(类似于“Hello World”之类的介绍)、自定义嵌入颜色以及其他数据库信息(.ie coins、energy等)。我想确保每当他们运行类似的东西时!描述Hello World,他们的配置文件嵌入将有消息Hello World,如果他们运行!另一次,他们的自定义嵌入的个人简历将被编辑为Lorem等。我使用quick.db使用简单的db.get和db.set函数实现了它们,但问题是,每当用户使用多个参数设置一个描述,如Hello World,它只在嵌入中显示为HelloWorld,而不是实际正确的带有空格的描述。我真的希望嵌入显示用户设置的描述(带有空格和填充物),但目前我的代码无法显示。请看一看,并指出我应该在哪里换衣服

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

module.exports = {
  commands: ["description", "desc"],
  minArgs: 1,
  maxArgs: null,
  expectedArgs: ["description to add"],

  callback: (message, arguments, text) => {
    var desc;
    desc = arguments.join("");
    let tester = db.get(`_desc${message.author.id}`);

    if (!tester) {
      db.set(`_desc${message.author.id}`, desc);
    } else {
      db.delete(`_desc${message.author.id}`), db.set(`_desc${message.author.id}`, desc);
    }
    console.log(desc);
  },
};

上面是代码!描述和下面是一个为!个人资料

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

module.exports = {
  commands: ["profile", "p"],
  alias: ["p"],
  minArgs: 0,
  maxArgs: null,

  callback: async (message, arguments, text) => {
    let target = message.mentions.members.first() || message.author;

    const balance = db.get(`honey_${target.id}`);
    const energy = db.get(`energy_${target.id}`);
    var desc = db.get(`_desc${target.id}`);
    if (desc === null) {
      let desc = "this user have yet to set a description!";
    }

    const embed = new Discord.MessageEmbed()
      .setTitle(`${target.tag}'s profile`)
      .setColor("#ECB802")
      .addFields(
        { name: "Description", value: `${desc}`, inline: false },
        {
          name: "cards",
          value: "1",
          inline: true,
          //to do
        },
        { name: "Gym battle record", value: "1/0", inline: true }, //to do
        {
          name: "Honey",
          value: `${balance} :honey_pot:`,
          inline: true,
        },
        {
          name: "energy",
          value: `${energy} :dizzy:`,
          inline: true,
        },
      );

    message.channel.send(embed);
  },
};

您正在使用
arguments.join(“”)
获取描述,它将两个字符串与一个空字符串连接起来:

const message=['Hello','World'];
console.log(message.join(“”));//没有空间

console.log(message.join(“”));//相反,加入一个空格非常感谢!我错过了那个!现在可以了!很高兴我能帮忙