微信公共帐号 是个很好玩的东西,因为他们最近开放了自动回复消息的接口,所以就更好玩了……
因为别的语言不会写,就用 JavaScript 写了个自动回复的小脚本,后来想让他变得更智能,就慢慢扩展成了这样一个还算方便使用的机器人……
代码公开在:https://github.com/ktmud/weixin-robot
不涉及任何算法和人工智能,也不需要数据库,只是一个单纯地类似于 url 路由的东西,只不过这里的 “url” 是用户说的话而已。
理论上来说,这东西可以并不只服务于微信,只要约定好消息来往的格式,也可以很方便地搭建起一个可以自动回复的客服系统。因为它是因微信公众平台而生的,故姑且还是叫 weixin-robot 。
大家可以尝试用微信关注“豆瓣同城”公共帐号试一下效果:
非常开心找到这样有用的东西 我是一个node的纯新手 想使用您的这个程序
安装npm i weixin-robot后 我需要怎样做 让他监听我的80呢? node \node_modules\weixin-robot\examples\app.js?
实在抱歉提这样的问题 纯新手 请谅解。(网吧技术员 刚接触编程)
modules已安装 用app.js可以成功收取发送
修改 examples/app.js 倒数第三行设定的 port 为 80 端口即可,比较建议用 nginx 或者 apache 做一层 proxy…
感谢您对我的帮助 问下跟程序无关的~~ 80已经更改 token 我更改为自己的 或者不更改 都无法再公众平台进行验证成功 我向腾讯的URL是带有端口号的 不知道会不会因此产生影响 导致无法token验证成功 我的外网IP 80被封掉了 期望得到您的回答。
已经通过域名转发的方式搞定了 通讯问题
使用内网机器3000映射到了服务器3000上 然后服务器绑定根域名
A记录 wx1.superjue.net 通过隐藏域名转发到www.superjue.net:3000上
本地webot可以连接上 但是无论输入什么只能回复‘ 听不懂你说什么’ 即error 400
但是公众平台始终无法token认证
恩,我听说现在确实只支持80端口……
本地webot可以连接上 但是无论输入什么只能回复‘ 听不懂你说什么’ 即error 400 但是公众平台始终无法token认证
windoes环境下
通过域名隐藏转发 把非80端口转成了80端口 在公众平台验证的时候 通过本地抓包获取到腾讯向我非80端口发送: name=%E5%BC%A0%E5%8B%89&mobile=186065XXXXX&email=zhengzha1234%40hotmail.com&url=http%3A%2F%2Fwx1.superjue.net&token=XXXXX&ajax=1
手动测试到返回为
{ "r": 403, "msg": "Where is your key?" }
issues 可以到 github 上去提,论坛这边不便回复
你本地抓的…… 是编辑后台点保存时,腾讯向他们服务器提交的信息吧…… =。=
微信服务器发给你的请求应该是这种格式的:
"GET /?signature=29d1a5e85dcdafcb6bd660c55ee6f6f81afa&echostr=5814915060441739089×tamp=1353903953&nonce=1353890419 HTTP/1.0"
最新版本欢迎大家试试
已经上传。地址:http://myzhbit.cloudfoundry.com/
一直无法验证Token。
代理部分改为
//微信后台只允许 80 端口,你可能需要自己做一层 proxy
//app.listen(3000, ‘127.0.0.1’, function(){
//log(“WeBot Start… God bless love…”);
//});
app.listen(80);
if(!process.env.DEBUG){
console.log("use SET DEBUG=webot.*
to got debug info. current env is: %s ", process.env.DEBUG);
}
还是不行。。。请问要怎么设置代理?
关注一个,前段时间也做了个自动回复小机器人,比你这个简陋很多,你这个给我很多启发,顶
如何实现 s+内容 发布到指定微博?
欢迎加入一起开发
@jovelang cloundfoundry默认自动变为80端口的。你先看下日志,有没有启动成功先
这个类库只是帮你分析到有收到 s+内容 这个消息进来, 后面的处理你可以自己在process里面连接微博然后发送, 具体看微博的api或者github上的那个第三方nodejs类库
运行vmc push 发生了以下错误: Uploading app_name… FAILED Upload failed. Try again with ‘vmc push’. TypeError: can’t convert nil into String For more information, see ~/.vmc/crash
你是如何上传的?vmc版本多少?谢谢
@jaffwu 我最近一次用是vmc 0.4.7,你试着把manifest.yml删掉,再push吧
@ktmud 大神能否出个发布再BAE的教程呢,BAE现在也支持node.js了。
不知道楼主实现微信支付了吗
微信支付算是另外一个单独的事情了
目前一些基本的API可以试下用这个:https://github.com/ktmud/wechat-api
mark