微信机器人框架- wechaty

  • 内容
  • 评论
  • 相关


项目介绍


wechaty(https://github.com/wechaty/wechaty)是一款开源的微信SDK,它基于微信公开的API,对接口进行了一系列的封装,提供一系列简单的接口,然后开发者可以在其之上进行微信机器人的开发。在跟作者沟通试用以后,发现其中有着非常多的应用场景,比如:


1)如果你的好友众多,如何管理和维护好友分组;

2)如何快速有序地处理海量聊天信息,并区分重要性;

3)如何处理海量的聊天组,特别是微信可以任意建组,长期以后会出现非常多的聊天组;

4)能否可以自动智能地进行聊天回复

5)……


1 快速上手


wechaty使用node编写,所以支持几乎所有的平台,wechaty的hello-world只需要6行代码即可实现聊天记录的动态收集。为了使用方便作者还进行了docker化的封装,结合docker绝对是一个不错的选择。


Step 1: 新建一个mybot.js,内容如下:


Step 2: 在主机上运行命令



    

Step 3: 拷贝二维码到浏览器



Step 4: 所有聊天记录就会打印到屏幕上



2 容器化分析


wechaty是一个比较好的docker化例子,其工程根目录下的Dockerfile详细描述了如何构建镜像,也就是需要哪些环境。通过Dockerfile我们可以看出,它使用的基础镜像是基于alpine的node镜像mhart/alpine-node:7


alpine是我们日常比较推荐的镜像,最小的只有4M左右。之后是一些常用的包的安装,具体可以参看Dockerfile。在运行时,会将mybot.js映射到容器内部,这样就相当于把运行环境和具体的应用进行了隔离。


3 其他例子


hello-world一般只是最简单的例子,这个框架真正厉害的是包含了其他一些用例,具体位于https://github.com/wechaty/wechaty/tree/master/example


其中包含了:

1)api-ai-bot.ts : 通过调用api.ai,进行人工智能方面的识别

2)contact-bot.ts : 列举的好友weixin id 和 name

3)ding-dong-bot.ts : 一个自动回复例子,如果好友输入’ding’,自动回复’dong’

4)friend-bot.ts : 添加好友,同意添加,消息验证的例子

5)media-file-bot.ts : 多种不同消息类型十倍的例子,保存media-file到本地

6)room-bot.ts : 对于聊天组的一系列例子,包括查找、添加、删除、改主题、监控组事件等等

7)speech-to-text-bot.ts : 当收到语音时,调用第三方接口,转换成文字,用户可以根据需求选择不同的语音识别API

8)tuling123-bot.ts : 国内的一个机器人集成例子


其实细心的朋友,看到这里会问,到底这个框架能否支持动态抢红包呢?这就留给有兴趣的朋友去研究了。同时,我们也会在后续分享一些其他的开源项目介绍。


4 通过Ghostcloud EcOS部署wechaty


EcOS (Enterprise container Operation System)是由Ghostcloud精灵云全自主研发的Docker容器云平台, 为企业研发、运维及新业务上线部署提供了一整套解决方案和管理平台。通过EcOS用户可以快速在私有云和混合云环境安装Docker,官方地址是:www.ghostcloud.cn


Ghostcloud EcOS,安装步骤如下:


1、浏览器访问 http://ecospkg.ghostcloud.cn/EcOS/stable/ , 下载最新的安装文件(EcOS-install*)和服务镜像文件(srvimgs.tgz)到需要安装的服务器根目录

2、解压安装文件,执行安装脚本

tar -zxf Ecos-install* && bash install.sh IPADDR(这里的IPADDR是安装EcOS所在的服务器IP地址)

3、解压服务镜像文件,执行push镜像操作tar -zxvf srvimgs.tag && ./srvimgs/pushimgs.sh

4、详细安装步骤请移步至:

http://ecospkg.ghostcloud.cn/EcOS/video/EcOS_Install.mp4



部署



1)创建wechaty服务

通过EcOS平台创建wechaty容器(容器具体操作见

http://ecospkg.ghostcloud.cn/EcOS/video/EcOS_Contianer.mp4)

镜像选择wechaty:latest, 创建启动选择为是,可适当的增加内存容量(允许容器使用的内存)



2)监听 wechaty 容器的日志


使用putty或其他ssh客户端工具登录到创建wechaty容器的主机,执行

docker logs -f wechaty



扫描日志中的二维码或将URL地址复制到浏览器中扫描,然后正常的使用微信,可以看到终端中会有相关信息。



作者介绍


李卓桓,既是一位天使投资人,也是一位技术牛人,还喜欢极限运动,总结起来就是投资人中最会飞的程序员 J。有兴趣的朋友,可以搜索关注他的微信公众号-李卓桓,同时给他提Pull Request。


Ghostcloud云计算2.0引领者

关注更多Docker容器知识,可加微信群“精灵云容器实践日”

联系精灵云:加群,暗语:姓名-职务-公司






始发于微信公众号:精灵云