Home

Awesome

组装中的机器人

注意: 这只是个组装中的机器人,作者还在探索。详细协议分析见web 微信与基于node的微信机器人实现

``我认为,保持计算机科学的趣味举足轻重。这一学科在起步时让人乐不可支。当然,那些付钱的客户们时常会觉得被我们敷衍了。之后,我们开始信以为真。我们开始觉得,自己真的像是对成功地、无差错地、完美地使用这些机器义不容辞。我不以为然。我认为我们的责任是去拓展这一领域,将其发展到新的方向,并在私底下保持趣味。我希望计算机科学领域绝不要丧失其趣味意识。最重要的是,我希望我们不要变成传道士,不要认为你是兜售圣经的人,世界上这种人已经太多了。你所知道的有关计算的东西,其他人也都能学到。绝不要认为成功计算的钥匙只掌握在你的手里。我认为并希望,你所掌握的是智慧:那种当你第一次站在这一机器面前时就能看到它的本质的能力,这样你才能将它推向前进。''

Alan J. Perlis (生于1922年4月1日,卒于1990年2月7日) 从SICP摘抄

作者仅仅为了:

  1. 自己想要一个能进行信息收发的某国内顶级IM机器人。
  2. 熟悉Node的http/https request 等模块,学习HTTP基本知识。
  3. 学着Promise怎么使用,如果可以Stream如何玩,这么比较好的抽象整个流程
  4. 学习使用浏览器调试工具,https代理等等。甚至透明代理,iptable这种东西。。
  5. 抽象

最重要的是:

  1. 好奇
  2. 聊以自娱

所以,这是一堆混乱不堪的东西,希望各位老师教我做人。

概览

基本上是这样,长连接一旦断开(服务器返回(服务器会在超时前返回)或者网络问题),继续长连接:

登录->长连接->长连接...(无尽的长连接来保持服务器能及时推送新信息)
            

根据长连接返回信息,如果出现服务器如果需要更新

webwxsync->filter->transducer

像js这种异步程序,当你长连接保持时并不会阻塞其他操作的执行。异步大法好!

依赖

如果不使用linux分支,需要imagemagick:

sudo apt-get install imagemagick

终端支持unicode字体:

sudo apt-get install ttf-ancient-fonts

使用须知

不好意思,Mac下需要你自己折腾让imagemagick能支持管道流数据。 据我所知,brew 默认安装的imagemagick并不行

请为了学习和娱乐适量使用,因此造成的任何损失、影响,都由使用者自行承担,与作者无关。源代码遵循GPL v2。

使用方式

git clone https://github.com/HalfdogStudio/wechat-user-bot.git wechat-user-bot && cd wechat-user-bot
npm install
CURRENT_CASH=1314 node index.js

调试请求:

CURRENT_CASH=1314 DEBUG=info node index.js

扫描二维码确认登录。

目前是个聊天和记录机器人,对话引擎默认为重复(echo),可指定其它引擎。

捐赠

如果您觉得这些东西对您有用,请支持自由软件基金会

截图

登录

登录

运行

截图

友情链接

Wechaty - Wechat for Bot. Powered by WebDriver & Node.js

https://github.com/zixia/wechaty

ChangeLog

2016.4.24

2016.3.9

2016.2.11

2016.2.9

2016.1.31

2016.1.26

2016.1.20

2016.1.19

2016.1.18

2016.1.17

2016.1.15

2016.1.14

2016.1.13

2016.1.12

2016.1.11