
优雅的微信个人号 机器人 /API ,基于 itchat ,全面优化接口,更有 Python 范儿
一些常见的场景
# 脑洞太大的就不提了... 总而言之,可用来实现各种微信个人号的自动化操作
使用 Python 3.x
pip3 install -U wxpy 登陆微信:
# 导入模块 from wxpy import * # 初始化机器人,扫码登陆 robot = Robot() 找到好友:
# 搜索名称含有 "游否" 的男性深圳好友 my_friend = robot.friends().search('游否', sex=MALE, city="深圳")[0] 发送消息:
# 发送文本给好友 robot.my_friend.send('Hello WeChat!') # 发送图片 robot.my_friend.send_image('my_picture.jpg') 自动响应各类消息:
# 打印来自其他好友、群聊和公众号的消息 @robot.register() def print_others(msg): print(msg) # 回复 my_friend 的消息 (优先匹配后注册的函数!) @robot.register(my_friend) def reply_my_friend(msg): return 'received: {} ({})'.format(msg.text, msg.type) # 开始监听和自动处理消息 robot.start() 说明文档: http://wxpy.readthedocs.io
GitHub: https://github.com/youfou/wxpy
加入微信交流群 (真的是群哦)

1 ZEOH 2017-02-28 01:45:42 +08:00 已 star 。 以前也想做一个类似可以挂群里的机器人,但是微信必须保持手机同时在线不然会掉,有点烦。 |
2 wjm2038 2017-02-28 01:46:21 +08:00 via Android 已 star 感觉不错⊙⊙ |
4 laobubu 2017-02-28 02:02:48 +08:00 via Android 诶等等,真的可以发送语音了么?我记得 itchat 还有各路利用网页端 API 开发的都不支持耶。 |
6 unique 2017-02-28 02:14:36 +08:00 不错,之前做了 java 版的但是功能不全, star |
7 popbones 2017-02-28 06:19:10 +08:00 via iPhone 已 star |
9 v1024 2017-02-28 07:39:50 +08:00 via iPhone mark |
10 tamama 2017-02-28 10:27:44 +08:00 赞。已 star |
11 stranbird 2017-02-28 10:32:15 +08:00 登入好像有些问题哦 ``` json.decoder.JSONDecodeError: Unterminated string starting at: line 6505 column 13 (char 120732) ``` |
12 Youfou OP @stranbird 看上去是在解析一个很长的 JSON … 这个问题会反复出现吗? 不介意的话可以贴下完整的 traceback 哈。 |
13 hydyy 2017-02-28 10:46:14 +08:00 wxpy -> 微信 pao 友 |
14 Light3 2017-02-28 11:03:13 +08:00 微信 py 666 |
15 kaishi123 2017-02-28 11:06:27 +08:00 微信屁眼…… |
16 feibilanceon 2017-02-28 11:09:54 +08:00 via iPhone 我这里有一些 itchat 的用例,有一些只需要修改变量就可以直接使用了,比如直接加群主填写特定验证信息自动邀请加群的。 https://github.com/discountry/itchat-examples 希望楼主有空研究研究怎么处理红包或其他特殊类消息。 |
17 spice630 2017-02-28 11:24:34 +08:00 顺道发个 go 版本的 https://github.com/songtianyi/wechat-go 我自己用来撩骚,开开车 发发 gif, 美剧更新提醒等等 :) https://github.com/songtianyi/go-aida |
18 simple2025 2017-02-28 11:31:12 +08:00 这个是个人微信? 我第一眼还以为是微信公众号呢 |
19 simple2025 2017-02-28 11:32:01 +08:00 如果能 py2 就好了。。 |
20 Youfou OP @feibilanceon wxpy 就是基于 itchat 开发的,是它的一层接口封装,希望提供更好用的接口哈 |
22 simple2025 2017-02-28 11:55:07 +08:00 @Youfou 对 py3 ,不是很感兴趣,因为我现在好多东西不会做,py3 只是添加了一个异步,如何高性能而已 |
24 davidqw 2017-02-28 12:15:17 +08:00 py 交易利器 |
25 Youfou OP |
28 linzhi 2017-02-28 14:29:43 +08:00 关注~ |
29 Youfou OP 发现这个帖子都是收藏,回复很少,自己顶顶… |
30 jimmy66 2017-02-28 20:39:37 +08:00 厉害了。。。真心的 |
31 Youfou OP 再顶~ 顺带说下,二维码中的小机器人已经开启了被调戏功能… |
32 s349116973 2017-02-28 22:01:36 +08:00 via iPhone 我也想写一个,问一下,好友信息是怎么拿到的?是通过抓包解析协议,然后拿到信息的吗?有知道的能告诉我吗? |
33 feibilanceon 2017-02-28 22:13:29 +08:00 via iPhone |
34 s349116973 2017-02-28 22:57:40 +08:00 via iPhone @feibilanceon 谢谢,果然是要抓包,我目前就是还不知道如何通过 tcpdump/wireshark 抓包,然后把信息实时更新到自己的程序里,谢谢。 |
35 mingyun 2017-02-28 23:44:14 +08:00 厉害了,加人,加群还能自动化,好玩 |
36 Youfou OP @s349116973 抓包不是只抓数据,而是通过观察流量摸索协议,有了协议,就可以通过自己的方式获取数据啦 |
37 eoo 2017-03-01 00:30:23 +08:00 via Android @s349116973 网页抓包 还是直接用浏览器的开发者工具吧 |
38 eoo 2017-03-01 00:33:30 +08:00 via Android @Youfou 我也弄了个 WebQQ 不过 tody.ml/webqq/ 用来做广西联通流量自动充值。 |
39 gladuo 2017-03-01 01:34:56 +08:00 朋友圈的功能不知道什么时候弄得到 |
40 phithon 2017-03-01 01:46:13 +08:00 赞,已 star |
41 nujabse 2017-03-01 08:39:51 +08:00 via Android 已 star |
42 Citrus 2017-03-01 09:09:52 +08:00 via iPhone 好奇,基于 itchat 的优化为何没 pr 回去呀? |
43 Youfou OP @Citrus 导入 itchat ,而不是直接修改 itchat 的代码。而且也修改了很多接口,很难合入原项目,所以才另立项目呢。 |
44 watchdb 2017-03-01 10:19:42 +08:00 via iPhone 另外结合 hug 可实现 api 接口了,这样通用性更好,可以给其他服务调用,非常简洁 |
47 watchdb 2017-03-01 13:48:02 +08:00 via iPhone @Youfou 同样业余,我是做 java ,封装成 api 几行代码就搞定了,一条消息可以群发给多个人的实现方法 @hug.get('/send_msg') def private_msg(content, username:hug.types.text="filehelper"): nameArr = username.split() name = ''; for i in range(len(nameArr)): name = nameArr[i] print("users:{name} content : {content}".format(**locals())) itchat.send_msg(content, toUserName=name) return '{"result":1}' |
49 w3cfeder 2020-02-21 05:44:17 +08:00 有其他协议的研究么?网上看了其他其他协议,都需要收费。我想找一个其他协议的开源代码,参考一下。 |