(2017.02.24):添加了message-queue分支。
(2017.02.28):抽离消息队列的间隔时间为一个独立的变量messageQueueGetInterval,单位是毫秒
这是一个微信机器人,是本人在学习使用Node.js的过程中,为激发自身的学习热情而做的项目。同时该项目也是为了解决在"聊聊架构"微信群在技术分享过程中消息自动转发的问题。
消息源---------------自动转发---------------->多个目标群
在"聊聊架构"有多个微信群,群内定期有技术专家进行技术分享,但是由于嘉宾只在一个群中分享,其他的群都需要“手动”转发信息,这样无造成了极大的人力资源浪费,因此有了编写一个自动转发工具的念头。
在项目前确定技术选型是一个重要的事情,搜索一番后,发现github上存在不少微信机器人,但是很多都是用于“新成员进群问好”、“发送天气信息”等,而且因为要监视新成员进群和群友的提问,所以这些程序大部分需要部署在服务器上作长时间的运行。
但是“聊聊架构”这边不需要这样的功能,我们只需要在特定的时间、特定的地点、特定的人的信息转发到其他群即可,因此考虑编写一个客户端程序,在考虑到“聊聊架构”的志愿者团队中使用了多种操作系统,因此跨平台是必须的,因此放弃的最初的技术选型.net,改用Node + Electron的技术形式。
将源代码下载下来后,进入项目的根目录,执行以下命令安装依赖关系:
npm install
这样依赖关系就安装完成,遇到npm安装缓慢,需要设置镜像的同学可以看我的blog文章https://my.oschina.net/cloes/blog/825028
接着运行
npm start
开启程序,如图:
此时,后台终端也在输出调试信息:
然后用手机微信程序扫描二维码,此时点击消息源就会显示群组和群组内的用户:
选择群组:
选择群组后,选择用户(支持多选):
图中的三个用户的发言就会被转发到“目标群”
选择目标群(支持多选):
点击确定后,程序开始进入监听转发状态。
注意: 只有在群设置里面设置了“保存到通讯录”的群组才会显示在下拉框里面
至此,设置完成,工具就会静静的工作,终端也会输出调试信息,如图:
源头群:“来源群”中的cloes用户的发言
目标群:3个“目标群”,分别是目标群1、目标群2、目标群3
动作:当cloes在来源群发言的时候,自动将内容转发到3个目标群
当“来源群”的cloe发布消息后,消息将会被自动转发到其他的3个“目标值”
各位如果遇到问题,欢迎提交到issues.