Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/HalfdogStudio/wechat-user-bot
正在组装中的微信机器人
https://github.com/HalfdogStudio/wechat-user-bot
Last synced: about 2 months ago
JSON representation
正在组装中的微信机器人
- Host: GitHub
- URL: https://github.com/HalfdogStudio/wechat-user-bot
- Owner: HalfdogStudio
- License: gpl-2.0
- Archived: true
- Created: 2016-01-10T15:09:17.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-16T15:37:38.000Z (over 7 years ago)
- Last Synced: 2024-08-01T03:17:38.638Z (4 months ago)
- Language: JavaScript
- Size: 4.58 MB
- Stars: 213
- Watchers: 33
- Forks: 55
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-wechat - HalfdogStudio/wechat-user-bot
README
组装中的机器人
=================注意: 这只是个组装中的机器人,作者还在探索。详细协议分析见[web 微信与基于node的微信机器人实现](http://reverland.org/javascript/2016/01/15/webchat-user-bot/)。
> ``我认为,保持计算机科学的趣味举足轻重。这一学科在起步时让人乐不可支。当然,那些付钱的客户们时常会觉得被我们敷衍了。之后,我们开始信以为真。我们开始觉得,自己真的像是对成功地、无差错地、完美地使用这些机器义不容辞。我不以为然。我认为我们的责任是去拓展这一领域,将其发展到新的方向,并在私底下保持趣味。我希望计算机科学领域绝不要丧失其趣味意识。最重要的是,我希望我们不要变成传道士,不要认为你是兜售圣经的人,世界上这种人已经太多了。你所知道的有关计算的东西,其他人也都能学到。绝不要认为成功计算的钥匙只掌握在你的手里。我认为并希望,你所掌握的是智慧:那种当你第一次站在这一机器面前时就能看到它的本质的能力,这样你才能将它推向前进。''
>
> 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. 抽象最重要的是:
5. 好奇
6. 聊以自娱所以,这是一堆混乱不堪的东西,希望各位老师教我做人。
## 概览
基本上是这样,长连接一旦断开(服务器返回(服务器会在超时前返回)或者网络问题),继续长连接:
登录->长连接->长连接...(无尽的长连接来保持服务器能及时推送新信息)
根据长连接返回信息,如果出现服务器如果需要更新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),可指定其它引擎。
## 捐赠
[如果您觉得这些东西对您有用,请支持自由软件基金会](https://my.fsf.org/donate/?pk_campaign=2015-2016-fundraiser-banner-gnu&pk_kwd=donate)
## 截图
登录
![登录](/screenshots/0.1.4.gif)
运行
![截图](/screenshots/0.1.3.png)
## 友情链接
> Wechaty - Wechat for Bot. Powered by WebDriver & Node.js
https://github.com/zixia/wechaty
## ChangeLog
### 2016.4.24
- 实验性的多媒体文件上传接口实现
- 默认记账机器人### 2016.3.9
- 表情信息记录
- 重写media api
- 重构、清理和日志### 2016.2.11
- 重新组织代码
- 分离请求和逻辑处理
- 图像信息记录### 2016.2.9
- 更新web示例
- 分离display### 2016.1.31
- 将消息过滤和处理分离到入口程序中
- 滥用高阶函数特性### 2016.1.26
- 分离逻辑与重构
### 2016.1.20
- 更加健壮的对话引擎
- 非好友用户名解析与缓存### 2016.1.19
- 群成员信息缓存
- 消息过滤机制
- 过滤特殊用户### 2016.1.18
- 重构消息处理逻辑
### 2016.1.17
- 群组发信人用户名解析
- 智能关闭二维码图像窗口### 2016.1.15
- 清理协议相关程序
### 2016.1.14
- 实现登录长连接 #8
- 分离替换api### 2016.1.13
- 重新实现长连接,修复多条消息会重新出现的问题 #5
- 分离回复逻辑 #2
- 捕获服务器断开消息自动退出 #1### 2016.1.12
- 修复遗漏消息的问题
- 接入图灵机器人实现聊天机器人
- 清理代码
- 完成用request替换所有原生模块### 2016.1.11
- 完成基本的回复机器人功能。