itchat是一个开源的微信个人号接口,可以使用该库进行微信网页版中的所有操作,比如:所有好友、添加好友、拉好友群聊、微信机器人等等。详细用户请看文档介绍,在这里。
本文主要使用该库完成一个能够处理微信消息的的图灵机器人,包括好友聊天、群聊天。
1、itchat库的安装
pip install itchat
安装完成后运行以下代码,会出现出现一张二维码,扫码登陆之后将会登陆微信网页。
2、登陆
1
2
3
4
5
|
import itchat # 登陆 itchat.auto_login() # 可设置hotReload = True # 运行并保持在线状态 itchat.run() |
此外,itchat 也提供短时间内断线重连的功能,只需要添加hotReload = True参数,下次登陆时不需要通过扫描二维码,只需要在手机端确认登陆即可。
3、消息的发送
itchat 库可以发送 文本、图片、视频、附件等内容,如向微信文件传输助手发送消息,可这样:
1
|
itchat.send( 'Hello' , toUserName = 'filehelper' ) |
toUserName 为要向发送消息的人的微信号,可以在微信手机端点击查询,也可以使用itchat库中的search_friends函数来进行查找,返回其微信号,详细用法,自行查找官方文档。
4、消息的接收
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
###################### 完整代码############################## # 加载库 from itchat.content import * import requests import json import itchat itchat.auto_login(hotReload = True ) # 调用图灵机器人的api,采用爬虫的原理,根据聊天消息返回回复内容 def tuling(info): appkey = "e5ccc9c7c8834ec3b08940e290ff1559" url = "http://www.tuling123.com/openapi/api?key=%s&info=%s" % (appkey,info) req = requests.get(url) content = req.text data = json.loads(content) answer = data[ 'text' ] return answer # 对于群聊信息,定义获取想要针对某个群进行机器人回复的群ID函数 def group_id(name): df = itchat.search_chatrooms(name = name) return df[ 0 ][ 'UserName' ] # 注册文本消息,绑定到text_reply处理函数 # text_reply msg_files可以处理好友之间的聊天回复 @itchat .msg_register([TEXT, MAP ,CARD,NOTE,SHARING]) def text_reply(msg): itchat.send( '%s' % tuling(msg[ 'Text' ]),msg[ 'FromUserName' ]) @itchat .msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO]) def download_files(msg): msg[ 'Text' ](msg[ 'FileName' ]) return '@%s@%s' % ({ 'Picture' : 'img' , 'Video' : 'vid' }.get(msg[ 'Type' ], 'fil' ), msg[ 'FileName' ]) # 现在微信加了好多群,并不想对所有的群都进行设置微信机器人,只针对想要设置的群进行微信机器人,可进行如下设置 @itchat .msg_register(TEXT, isGroupChat = True ) def group_text_reply(msg): # 当然如果只想针对@你的人才回复,可以设置if msg['isAt']: item = group_id(u '想要设置的群的名称' ) # 根据自己的需求设置 if msg[ 'ToUserName' ] = = item: itchat.send(u '%s' % tuling(msg[ 'Text' ]), item) itchat.run() |
那么,下面你的好友、微信群可以愉快的跟图灵机器人聊天啦~~~
总结
以上所述是小编给大家介绍的python使用itchat库实现微信机器人(好友聊天、群聊天),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://www.jianshu.com/p/5d4de51f5375