用nodejs开发pc微信机器人,保存有用的消息
从海量群消息中获取自己需要的消息
现在微信消息太多了, 根本看不过来,没时间一个群一个群的看过去 为了节约时间,获取对自己有用的消息 可以对PC微信消息进行获取处理
下面这个sdk是通过http的方式来获取微信消息的
nodejs sdk
https://github.com/pchook/WechatHttpApiWeb/blob/master/nodejs/sdk/app.js
通过修改onmsg.js中消息处理事件
function checkMsg(o) {
if (o.msg.length <= 5) return '或者消息太短';//什么嗯嗯啊啊噢噢的都过滤掉
let whiteList = ['相亲', '吃饭', '接单', '私活', '活动']
//白名单,关键词通过
, blackList = ['垃圾词一', '垃圾词二', '垃圾词三']
//黑名单,关键词拦截
if (blackList.some(function (k) { return o.msg.includes(k) })) return '命中黑名单,直接跳过'//命中黑名单,跳过
let existPhone = /[1][3,4,5,6,7,8,9][0-9]{9}/.test(o.msg)//是否存在手机号,可以看一下
if (existPhone || whiteList.some(function (k) { return o.msg.includes(k) })) return ''//有手机号 或者 命中白名单,保存
return '不符合条件'
}
async function onmsg(datas) {
let ok = 0;//这个是记录处理有用的消息的条数
for (let o of datas) {
if (o.type != 1) continue//不是文本消息直接跳过
let res = checkMsg(o)
if (res) {
//不符合条件
log('NOT', `[${res}][${o.wxid}][${o.sender}]${o.msg}`)
} else {
ok++
//符合条件,保存
let execMsg = await save(o)
log('YES', `[${res}][${o.wxid}][${o.sender}]${o.msg}\r\nsql语句执行结果:${JSON.stringify(execMsg || '{}')}`)
}
}
return ok
}
5 回复
实测可以嘛???这个感觉很有意思啊
@quanpf2481 是可以用的,收集消息还是很方便的
@pchook 我看代码好像还不是很完整,现在可以跑起来了嘛,需要什么环境跑起来呢
@quanpf2481 现在已经很稳定了,到这里下载apiServer然后解压运行就可以了,就自动开启http服务了。 https://github.com/pchook/WechatHttpApiWeb/releases http api接口文档可以看这个 https://pchook.github.io/WechatHttpApiWeb/ 调用的代码是还不完整,自己用node进行http请求就可以了 基本收发消息很方便,已经可以满足大部分需求了 期待你写一个node调用的完整代码
@pchook 楼主那边是用在什么场景呢???还是说有特殊的行业需要这个,我这边也是需要这样的使用情况的