Node.js - 如何解析通过IRC聊天消息传递的参数

时间:2015-06-24 15:11:34

标签: node.js twitch

编辑:我正在使用Github的twitch-irc库为Node.js,通过npm安装。

这是一个基本问题,我觉得有点白痴问,但是......

if (message.toLowerCase().indexOf('!os') === 0) {

}

假设我使用了这段代码,我如何为用户提供的参数添加if语句?通过这个,我的意思是在键入!os后,他们会创建一个空格并输入其他内容,这可能是第0个或第1个参数。

是否可以使用它?:

if (message.toLowerCase().indexOf('kernel') === 4) {

}

在伪代码中,我想这样做:

if (firstargument === 'kernel') {
    //Do stuff.
}

感谢您的时间。

2 个答案:

答案 0 :(得分:2)

您可以简单地使用var args = message.match(/\S+/g)获取数组中的所有参数(包括'!os')并根据需要使用它们。

e.g。

var args = message.match(/\S+g/);
var cmd = args[1]; //do a length check before accessing args[1] though
switch (cmd) {
    case 'kernel':
    // do stuff
    break;
    case 'process':
    // do stuff
    break;
    default:
    // invalid command
}

答案 1 :(得分:1)

你所说的是有意义的,但你应该删除空格(空格),以便像!os kernel这样的命令仍然有用(注意两个空格)。

这样做:

if (message.replace(/\s\g, '').toLowerCase().indexOf('kernel') === 3) {
//Do stuff
}