前段时间玩微信,一时兴起,想着写一个 DSL 的微信 gem,结果就有了这个项目: https://github.com/charleyw/weChat-backend 自带 web 环境(当然是 sinatra) 主要卖点:
跟 sinatra 一样上手快,简单。完全基于 sinatra,无论是语法,还是文件结构都一一模仿了。写的时候顺便看了 sinatra 的源码,学到了不少东西。
使用方法可以参照:
ruby
gem install 'wei-backend'
token "mytoken"
on_text do "你发送了如下内容:#{params[:Content]}!!" end
on_subscribe do "感谢您的订阅" end
on_unsubscribe do "欢迎您再次订阅" end
1. 启动
```ruby
ruby app.rb
详细使用说明可以参考README.md,repo 里面还有一个例子可以参考。
当前能接受并解析用户发送的文本,位置,以及触发订阅和取消订阅事件的消息,能返回文本和图文消息。后续会支持所有类型的请求消息和返回消息。后续还得进行一些重构,现在判断返回消息类型是根据是字符串(文本)还是 hash 值(图文消息)进行的。跟 sinatra 的依赖关系还的理一理。
现在这个 gem 有一个稳定用户,在微信上搜#pm2.5 查询#排名第一的就是了。