Skip to content
Snippets Groups Projects
README.md 2.45 KiB
Newer Older
郭予鹏's avatar
郭予鹏 committed
# wechat-reply

微信关键字自动回复。

### Usage

```bash
npm install @neuroo_fe/wechat-reply -S
```

```javascript
const app = require('express')()
郭予鹏's avatar
郭予鹏 committed
const wechat = require('wechat')
郭予鹏's avatar
郭予鹏 committed
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)
  }
郭予鹏's avatar
郭予鹏 committed
}
const reply = new Reply(options)
郭予鹏's avatar
郭予鹏 committed

郭予鹏's avatar
郭予鹏 committed
app.post('/wechat', wechat(config).middlewarify(), reply.middlewarify())
郭予鹏's avatar
郭予鹏 committed
```

郭予鹏's avatar
郭予鹏 committed

| 名称             | 类型       | 必填   | 描述                  |
| -------------- | -------- | ---- | ------------------- |
| appId          | String   | 是    | 微信公众号appId          |
| encodingAESKey | String   | 是    | 微信公众号encodingAESKey |
| token          | String   | 是    | 微信公众号token          |
| rules          | Array    | 否    | [规则数组](#rules)      |
| getAccessToken | Function | 是    | 获取微信access_token函数  |
| onError        | Function | 否    | 错误处理函数              |
郭予鹏's avatar
郭予鹏 committed

郭予鹏's avatar
郭予鹏 committed

| 名称       | 类型     | 必填   | 描述                                      |
| -------- | ------ | ---- | --------------------------------------- |
| keywords | Array  | 是    | 字符串数组。用于生成`RegExp`对象,因此内容需符合`RegExp`规则。 |
| reply    | Object | 是    | [回复内容](#reply)                          |
| seq      | Number | 否    | 规则优先级。值越大越靠前。                           |
| name     | String | 否    | 规则名称                                    |
郭予鹏's avatar
郭予鹏 committed

郭予鹏's avatar
郭予鹏 committed

| 名称      | 类型     | 必填   | 描述                        |
| ------- | ------ | ---- | ------------------------- |
| type    | String | 是    | 回复内容的格式。支持`text``image`。 |
| content | String | 是    | 回复的内容。                    |
郭予鹏's avatar
郭予鹏 committed

郭予鹏's avatar
郭予鹏 committed

郭予鹏's avatar
郭予鹏 committed

郭予鹏's avatar
郭予鹏 committed

```
app.post('/wechat', reply.middlewarify())
郭予鹏's avatar
郭予鹏 committed
```

#### updateRules

`updateRules(rules)` 更新规则。传入新的规则列表会完全覆盖旧的规则。
郭予鹏's avatar
郭予鹏 committed

郭予鹏's avatar
郭予鹏 committed

```javascript
const Reply = require('@neuroo_fe/wechat-reply')
const reply = new Reply()
reply.updateRules([
  {
    name: '新规则',
    ...
  }
])
```