拆分有空格的参数

Splitting arguments that have spaces

我正在尝试为机器人制作投票命令,能够为嵌入设置标题和描述(这将是实际的投票)。

这是我的代码:

if (command === "pollvote") {
        if(!args.length){
            const embed = new Discord.MessageEmbed()
            .setTitle(`You didn't give a question.`)
            .setColor(`#245ebd`)
            message.channel.send(embed)
            return
        }

        var arguments = args.toString();
        arguments = arguments.split(",")

        const embed = new Discord.MessageEmbed()
        .setTitle(arguments[0])
        .setColor(`#245ebd`)
        .setThumbnail(`https://media.discordapp.net/attachments/960395119809429584/976463843008086146/Videostreamers_logo_nieuw_pink3.2.png?width=666&height=666`)
        .setDescription(arguments[1])

        message.channel.send(embed).then(sentEmbed => {
            sentEmbed.react("")
            sentEmbed.react("")
        });
    }

当 运行 命令或启动机器人时,代码不会出错。唯一的问题是它不能正常工作

示例:

我想这就是你想要做的...

var arguments = args.join(" ").split(",");

const embed = new Discord.MessageEmbed()
.setTitle(arguments[0])
.setColor(`#245ebd`)
.setThumbnail(`https://media.discordapp.net/attachments/960395119809429584/976463843008086146/Videostreamers_logo_nieuw_pink3.2.png?width=666&height=666`)
.setDescription(arguments[1])

当你在做 args.toString() 时,它什么也没做。这样做的目的是 join 将 args 放在一起,然后在逗号处拆分它们。 arguments[0] 将 return 逗号前的内容,arguments[1] 将 return 逗号后的内容。