在JS中使用带有自定义参数的if语句
Using an if statement in JS with custom parameter
我试图使它这样,当有人在消息中输入! familyfortunes% NAME%时,它将运行命令并从消息中获取参数(%NAME%),然后将其存储在一个变量中。
我想我可以使用if(message.toLowerCase.indexOf("!familyfortunes") !=-1){}
并将$message存储到另一个变量中,但拆分以删除!familyfortune,因此它只保留用户名,但始终返回错误:
greatbritishbg: ! familyfortunlol [10:53:39]Undefined不是一个函数在零。(example.js: 68:29)
哪个是.split()
部分
client.addListener('chat', function (channel, user, message) {
console.log(user.username + ': ' + message);
if (message.toLowerCase() === '!familyfortunes') { //If message contains !familyfortunes
//var res = messageString.split("familyfortunes ");// Remove Family Fortunes to just get username
client.say(channel, 'Latest Follower: ' + Follower.response);
var raidName = Follower.response;
io.emit('follow', raidName);
}
}
任何关于我如何解决这个问题的建议都会很感激。谢谢。
你很接近了。注意toLowerCase
是一个函数,所以你将我需要做message.toLowerCase().indexOf()
。我不知道消息是否必须以命令开头,但我认为必须这样。简单的例子:
var msg = "!familyfortunes param1 param2";
if (msg.toLowerCase().indexOf("!familyfortunes") == 0) {
var parts = msg.split(" ");
if(parts.length > 1) {
parts.shift();
console.log(parts.join(" "));
}
}
var parts = msg.split(" ")
在空格上分割字符串并返回一个数组。msg.shift()
删除数组中的第一个条目(!familyfortune),然后msg.join(" ")
取数组的其余部分并构建一个字符串,以空格分隔。
如果在关键字后只允许一个值,则可以检查parts.lenght == 2
并执行console.log(parts[1])
以获得参数
您应该尝试使用regexp
var r =/!familyfortunes's+(.*)/i
var message = "!familyfortunes %NAME%"
message.match(r)
>> ["!familyfortunes %NAME%", "%NAME%"]
正则表达式匹配以!familyfortune开头的字符串,一个或多个空格,然后是命令的参数。第一组是命令的参数
相关文章:
- 如何让typeahead在我的搜索栏中填充自定义参数
- 如何将自定义参数传递到FullCalendar事件提要
- Worklight Client使用自定义BODY参数调用过程
- 评估作为参数传递给 Google 电子表格中自定义函数的条件
- 自定义共享网址Google+与多参数
- 如何自定义数据::confirm弹出窗口以提示输入,该输入将附加到请求参数中
- 从字符串中检索自定义参数的值
- 如何调用另一个js文件中的函数或触发一个自定义事件,该事件将参数作为Jquery中的数据对象传递
- extjs-使用传递的参数创建自定义函数
- 表单's自定义“;“多参数”;验证器并不总是启动
- 将角度工厂中的参数用于自定义标头
- PHP函数的自定义参数是如何在jquery中实现的
- 如何使用带有jQuery和自定义url参数的cookie
- 调用插件外部的自定义函数并传递参数
- 如何通过头中带有自定义参数的RestTemplate发送POST请求
- 我对javascript中的一个自定义函数感到困惑,该函数将对象作为参数获取
- 在应用脚本中,如何在自定义函数中包含可选参数
- 自定义数组函数不接受参数
- 自定义骨干路由参数
- 使用css样式和任意参数自定义console.log