【发布时间】:2014-09-09 23:31:39
【问题描述】:
我目前正在为 Twitch 编写一个机器人。
现在我想检查每条消息是否有特殊字符,并检测包含超过 20% 特殊字符的消息。
消息本身是一个变量var msg,如果消息应包含超过 20% 的特殊字符,则应使用命令使用户超时。
这是它应该监听的事件:
event.on("chat", function(user, channel, message) {
var msg = message.toLowerCase();
var args = msg.split(" ");
console.log("<"+user.color+" | "+user.username+" | "+user.special+"> <"+channel+"> "+message)
});
希望任何人都可以帮助我。 这是我的第一个,或多或少,严肃的 JavaScript 项目。
【问题讨论】:
-
str.match(/\W/g).length / str.length * 100 |0 -
@elclanrs——如果没有 match 那么
.length会抛出一个错误。最好使用 split,它总是返回一个数组。 -
或
(str.match(/\W/g)||[]).length -
match 返回 null 而不是空数组让我感到困惑,因为它是 split 的补充。我认为它值得 Brendan 回应:“我在 10 天内写了它……”。 ;-)
-
@elclanrs 为什么要创建新数组?
标签: javascript command character twitch