发送命令并使用JavaScript将其拆分为多个变量

时间:2018-03-01 18:39:36

标签: javascript discord discord.io

我想要做的就是用discord.io写一个机器人,问题是,当我来制作设置昵称的命令时,我遇到了一个问题,我知道我应该使用message.substring(1).split(' ');语法,但我不知道如何获取现在拆分的消息字符串并将子字符串放入单独的变量中。我到底该怎么做?我希望使用此?setnick <userID> <nickname to have it set it to>

将他们的昵称设置/更改为我设置的昵称

2 个答案:

答案 0 :(得分:0)

分割信息后,您将拥有一个包含所有部分的数组。

var message = " part1 part2 part3";
var array = message.substring(1).split(' ');
// array = ["part1", "part2", "part3"]

您可以使用数组索引访问这些:

var part1 = array[0];
// part1 = "part1"

或者您可以使用forEach对每个部分执行某些操作:

array.forEach(x => console.log(x));
// part1
// part2
// part3

答案 1 :(得分:0)

我可能会这样做:

让我们假装message.content看起来像这样:"?setnick 0123 testName"

// first, store message content into small variable (to keep things clean later)
let msg = message.content;

// now pull out the command arguments - everything after the first space in message.content
let argString = msg.substr( msg.indexOf(' ') + 1 );

// argString should be "0123 testName"
// -> now split argString into pieces (id and new nickname)
let argArr = argString.split(' ');

// argArr should be ["0123", "testName"]
// -> now store each argument into its own new variable
let [uid, newNickname] = argArr;

现在您可以使用两个变量uid = "0123"newNickname = "testName"

您可能还想在argArr变量上添加一些验证 - 因此,如果用户在参数中添加额外的文本,您可以抛出错误或添加额外数据作为昵称(作为示例)

希望这有帮助!