wechat-reply
微信关键字自动回复。
Usage
npm install @neuroo_fe/wechat-reply -S
const app = require('express')()
const wechat = require('wechat')
const Reply = require('@neuroo_fe/wechat-reply')
const options = {
rules: [
{
keywords: ['包含', '^匹配开头', '匹配结尾$', '^全匹配$', '模糊.*匹配。?'],
reply: {
type: 'text',
content: '回复内容1'
}
}
],
getAccessToken (callback) {
callback(access_token)
},
onError (err) {
console.error(err)
}
}
const reply = new Reply(options)
app.post('/wechat', wechat(config).middlewarify(), reply.middlewarify())
options 对象属性
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
appId | String | 是 | 微信公众号appId |
encodingAESKey | String | 是 | 微信公众号encodingAESKey |
token | String | 是 | 微信公众号token |
rules | Array | 否 | 规则数组 |
getAccessToken | Function | 是 | 获取微信access_token函数 |
onError | Function | 否 | 错误处理函数 |
rules
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
keywords | Array | 是 | 字符串数组。用于生成RegExp 对象,因此内容需符合RegExp 规则。 |
reply | Object | 是 | 回复内容 |
seq | Number | 否 | 规则优先级。值越大越靠前。 |
name | String | 否 | 规则名称 |
reply
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
type | String | 是 | 回复内容的格式。支持text 、image 。 |
content | String | 是 | 回复的内容。 |
方法
Middlewarify
导出中间件函数。
app.post('/wechat', reply.middlewarify())
updateRules
updateRules(rules)
更新规则。传入新的规则列表会完全覆盖旧的规则。
参数
const Reply = require('@neuroo_fe/wechat-reply')
const reply = new Reply()
reply.updateRules([
{
name: '新规则',
...
}
])