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

Node.js - How to parse arguments passed via an IRC chat message

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

这是一个非常基本的问题,我觉得问起来有点白痴,但是...

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

}

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

只用这个可以吗os?:

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

}

在伪代码中,我想做的是:

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

感谢您的宝贵时间。

你说的是有意义的,但你应该删除白色 space (spaces) 这样像 !os kernel 这样的命令仍然有效(注意两个 spaces).

这样做:

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

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

例如

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
}