Skip to content

js——check

殷泽凌 edited this page Feb 17, 2019 · 1 revision

check是过滤器,用来过滤信息,支持数字字符串数组正则表达式函数五种类型

比如说

//数字
//当你在群里发123的时候,机器人会回复你一句hello bang!!!
var praiseBang = {
    check: 123,
    operate: "hello bang!!!"
};

//字符串
//当你在群里发hello bang的时候,机器人会回复你一句hello bang!!!
var praiseBang = {
    check: "hello bang",
    operate: "hello bang!!!"
};

//数组
//当你在群里发 奈斯bang,轮子哥,大佬6哇 的时候,机器人会回复你一句hello bang!!!
var praiseBang = {
    check: ["奈斯bang","轮子哥","大佬6哇"],
    operate: "hello bang!!!"
};

//正则表达式
//当你在群里发的消息符合/[\d]{6,8}/的时候,机器人会回复你一句hello bang!!!
var praiseBang = {
    check: /[\d]{6,8}/,
    operate: "hello bang!!!"
};

至于函数呢,函数有一个参数,这个参数传进来的消息是httpapi的原生消息

文档参考httpapi文档

字段参考httpapi群事件字段

一般来说,因为我有做信息拦截处理,除了当前群的消息其他消息是没有的

//函数
//当你在群里发的消息内容含有棒棒糖的时候,机器人会回复你一句hello bang!!!
var praiseBang = {
    check: function(msg) {
        return msg.message.indexOf('棒棒糖');
    },
    operate: "hello bang!!!"
};

返回true或者一个非0数字代表true,其他类型或不返回代表false

当返回true时,才会进行下一步的operate操作,否则不操作

如果不想要设置拦截规则的话们可以写代码

var praiseBang = {
    check: function(msg) {
        return true;
    },
    operate: "hello bang!!!"
};

这样子无论发什么消息都会直接进入operate操作,但是不推荐这么做