Javascript 如何使用命令中有多少个参数的长度生成命令?

Javascript 如何使用命令中有多少个参数的长度生成命令?,javascript,eval,Javascript,Eval,这听起来可能有点奇怪,但我不知道该如何描述它。我正在尝试使用一个命令创建一个discord bot,其中某些人可以编写javascript代码来动态处理bot,但我不知道如何使它在多个空间中工作。我希望它能使用尽可能多的空间或尽可能少的空间,但这只适用于正好有10个空间的 if(command === '!cmd') { if(message.author.id != ownerid) { bot.guilds.get(guildid).channeks.get(gene

这听起来可能有点奇怪,但我不知道该如何描述它。我正在尝试使用一个命令创建一个discord bot,其中某些人可以编写javascript代码来动态处理bot,但我不知道如何使它在多个空间中工作。我希望它能使用尽可能多的空间或尽可能少的空间,但这只适用于正好有10个空间的

if(command === '!cmd') {
    if(message.author.id != ownerid) {
        bot.guilds.get(guildid).channeks.get(generalchan.sned("YOU ARE NOT ALLOWED TO USE THIS COMMAND\nTHIS IS YOUR ONLY WARNING"))
        } else if(message.author.id === ownerid) {
            eval(messageArray[1] + " " + messageArray[2] + " " + messageArray[3] + " " + messageArray[4] + " " + messageArray[5] + " " + messageArray[6] + " " + messageArray[7] + " " + messageArray[8] + " " + messageArray[9]);
            message.delete();
        }
}
您需要切掉尾随空格字符

但您正在获取message.content,然后将每个单词拆分为一个数组。然后尝试将数组重新融合在一起,并重新添加空格。您应该只删除消息的前x个字符。内容,其中x是prefix.length+命令,并计算结果

Eval命令非常危险。在实施这些之前,请确保您知道自己在做什么

编辑:本指南值得一看并添加书签


messgeArray.join?这似乎不起作用,我尝试过,但现在它给了我未经处理的拒绝承诺-“编辑”现在似乎正在使用进行评估!cmd,所以它基本上就是放!在每个命令之前使用cmd使其无效。将需要更多上下文来理解该问题。我不知道meesageArray包含什么以及预期的行为。messageArray是使用message.content.split将消息内容拆分为一个数组;我已经做了预防措施,不允许我以外的其他人使用!cmd命令,所以不必担心,但我也不知道如何删除字符串的一部分我对javascript非常陌生,所以如果你能向我解释一下,如果你在哪里定义了命令,那就太好了。你已经这么做了。这本指南值得收藏和浏览。用你的方式看完整本书。一旦你完成了,一切都会变得容易得多。请不要忘记为你的问题选择正确的答案。
Let evalStr = ""
For(let element of messageArray){
evalStr += element + " "
}
eval(evalStr)