优雅的微信个人号 机器人 /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 1
已 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
chenqh 2017-02-28 11:31:12 +08:00
这个是个人微信?
我第一眼还以为是微信公众号呢 |
19
chenqh 2017-02-28 11:32:01 +08:00
如果能 py2 就好了。。
|
20
Youfou OP @feibilanceon wxpy 就是基于 itchat 开发的,是它的一层接口封装,希望提供更好用的接口哈
|
23
HanSonJ 2017-02-28 12:04:52 +08:00
搭车发个 PHP 版本的 https://www.v2ex.com/t/335534
|
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 1
@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
有其他协议的研究么?网上看了其他其他协议,都需要收费。我想找一个其他协议的开源代码,参考一下。
|