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
}
编辑:我正在使用 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
}