itchat能够完成的功能
1.登录,退出登录,自动登录
2.获取登录时二维码和其通用唯一识别码
3.发送原信息
4.检查当前的登录状态(是否手机端确认)
5.初始化,获取各类信息
6.发起登录请求,手机端确认
7.持续监听各类信息
8.确认新信息的类型
9.发送各类信息,以及撤回
10.更新群信息,好友信息
12.得到群名单,好友名单,关注的微信公众号名单
13.得到很多聊天信息的群的名单
14.设定回复
15.消息注册
16.设置好友备注
17.置顶好友或群
18.添加好友
19.得到好友,群或者群成员的头像
20.创建群
21.设置群名
22.删除,添加群成员
23.查找好友,群,已关注公众号
24.上传文件
25.发送文件,图片,小视频
26.将登陆状态存到本地
27.从本地导出登陆转态
常见功能实现demo(代码已经调试,成功运行)
1.对接图灵机器人自动回复,以收到好友文本信息为例
tl_keys = ['4f5a97104708494a9f5e9cc425fb3b21',
'd3cbcec8d15e4b78a7598f284582ebac']
# 关于为什么使用旧版api,因为官方新版api太毒了,参数贼多,对新手不友好
tl_data = {
'key': random.choice(tl_keys),
'info': "",
'userid': 'ahhh',
}
def tl_resp(self, text):
tl_data["info"] = text
tl_data["key"] = random.choice(tl_keys)
resp = requests.post(url=tl_api, data=tl_data)
result = json.loads(resp.text)
if result["code"] == 100000:
return result["text"]
return "人类的本质是复读机,和我一起念:{}".format(text)
@itchat.msg_register([itchat.content.TEXT], isFriendChat=True)
def resp_friend(msg):
resp_text = wxbot.tl_resp(msg["Text"])
return resp_text
2.以收到文本信息为例,将信息转发给另一微信号(以代码为例,将另一微信备注设为boss)
# 用于接收来自朋友间的对话消息 #如果不用这个,朋友发的消息便不会自动回复
@itchat.msg_register([itchat.content.TEXT], isFriendChat=True)
def resp_friend(msg):
resp_text = wxbot.tl_resp(msg["Text"])
from_friend = itchat.search_friends(userName=msg["FromUserName"])
if from_friend["RemarkName"] != "":
itchat.send(msg="{} 来自{}\n回复:{}".format(msg["Text"], from_friend, resp_text),
toUserName=itchat.search_friends(remarkName="boss")[0]["UserName"])
if from_friend["RemarkName"] == "":
itchat.send(msg="{} 来自{}\n回复:{}".format(msg["Text"], from_friend, resp_text),
toUserName=itchat.search_friends(remarkName="boss")[0]["NickName"])
return resp_text
3.始终保持自己登陆,如果不小心登陆,自动申请登陆
while 1:
itchat.auto_login()
itchat.run()
print("退出了登录")