微信公共帐号机器人示例 Build Status

node-webot/webot-example

本地运行

git clone https://github.com/node-webot/webot-example.git
cd webot-example/
npm install
make start

其中,make start 命令会调用 node app.js 。 建议你 fork 一份自己的版本,这样你就可以任意做出更改和调试了。

目录结构

  • lib/
    • support.js
      高德地图API
      搜索百度
      下载图片
      
  • rules/
    • index.js #初始化路由规则
    • dialog.yaml #支持多个实例
  • test/
    • bootstrap.js
    • mocha.opts
    • rule.js
  • app.js #启动服务
  • package.json

规则列表

  1. help
  2. more
  3. who
  4. 正则匹配后的匹配组存在 info.query 中
  5. 简单的纯文本对话,可以用单独的 yaml 文件来定义
  6. 支持一次性加多个(方便后台数据库存储规则)
  7. 等待下一次回复
  8. 定义一个 wait rule
  9. 调用已有的action
  10. 可以通过回调返回结果
  11. 超时处理
  12. 实现类似电话客服的自动应答流程
  13. 支持location消息 此examples使用的是高德地图的API
  14. 回复图文消息
  15. 可以指定图文消息的映射关系
  16. 所有消息都无法匹配时的fallback

消息调试

使用 webot-cli 命令行工具来发送测试消息。

安装:

npm install webot-cli -g

npm install -g 代表全局安装 npm 模块,你可能需要 sudo 权限。

使用:

webot help            # 查看使用帮助
webot send Hello      # 发送一条叫「Hello」的消息
webot send image      # 调试图片消息
webot send location   # 调试地理位置
webot send event      # 调试事件消息

webot-cli 默认访问的接口地址是 http://127.0.0.1:3000 ,要调试本示例的程序, 你需要指定 `webot send --des http://127.0.0.1:3000/wechat'

在微信上试用此示例

  • 微信账号:webot-test

qrcode: webot-test

搭建你自己的机器人

  1. fork 本仓库,修改 package.json 里的各项属性
  2. 修改你自己的 app.js ,填写你在微信后台输入的 token
  3. 参考 rules/index.js ,新建你自己的回复规则

发布到云平台

仓库中的 Procfileheroku 的配置文件。 manifest.ymlcloudfoundry 的示例配置文件。

荣誉

weixin-robot初始版本@ktmud实现, @atian重构并扩展为 0.2 版本。目前的测试用例也大部分由他完成。

weixin-robot 使用了 @JacksonTianwechat 组件。