我试图弄清楚如何为我的审核命令正确设置一个原因参数。
我打算像这样执行它:
!warn <@UserMention> [reason]
我已经设置好了,因此命令名称之后的任何单词都将被切成参数数组。
let messageArray = message.content.split(/\s+/g);
let cmd = messageArray[0];
let args = messageArray.slice(1);
let command = cmd.slice(prefix.length);
我可以让主持人将原因放在引号之间,以便控制台将其作为一个字符串读取,但这会带来一些不便。我将如何拼接从args[1]
开始的任意数量的参数,以制成一个标有“ reason”的完整字符串?
答案 0 :(得分:0)
如果我对您的理解正确,那么您遇到的所有麻烦就是得到一条消息而不是一组参数。
您可以let params = new HttpParams();
if ( limit ) {
params = params.set('limit', String(limit));
}
params = params.set('search', keyword);
个参数:
Array#join
这会将消息的所有单词用一个空格连接起来。参见MDN documentation。
答案 1 :(得分:0)
最简单的方法是使用array.Reduce
someArray = ["I","like","icecream"]
someArray.reduce((total, value) => total + value, "")
//becomes "Ilikeicecream"
可以在每个单词的末尾添加空格。