今天发现python一个很好玩的模块 itchat ,可以很简单就实现一个自动回复 话不多说 上代码:
import itchat import requests import re import sys reload(sys) sys.setdefaultencoding('utf8') # 抓取网页 def getHtmlText(url): try: r = requests.get(url, timeout=30) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: return "" # 自动回复 # 封装好的装饰器,当接收到的消息是Text,即文字消息 @itchat.msg_register(['Text', 'Map', 'Card', 'Note', 'Sharing', 'Picture']) def text_reply(msg): print msg # 当消息不是由自己发出的时候 # if not msg['FromUserName'] == Name["Jestiao"]: # 回复给好友 url = "http://www.tuling123.com/openapi/api?key=b6a58f77524e49f1ad0c15274142dd53&info=" url = url + msg['Text'] html = getHtmlText(url) message = re.findall(r'"text":".*?"', html) reply = eval(message[0].split(':')[1]) print reply ,'[]' return reply if __name__ == '__main__': # 扫码登陆微信 itchat.auto_login() # 获取自己的UserName friends = itchat.get_friends(update=True)[0:] # 使用字典存放好友昵称与用户名 Name = {} # 好友昵称 Nic = [] # 好友用户名 User = [] for i in range(len(friends)): Nic.append(friends[i]["NickName"]) User.append(friends[i]["UserName"]) for i in range(len(friends)): Name[Nic[i]] = User[i] itchat.run()
还有一个 自行观看:
#!/usr/bin/python3 # -*- coding: utf-8 -*- # @Author : nanyu # @File : 111.py # @Time : 2019/4/17 14:14 # @Software: PyCharm import itchat import time global num global lis # @itchat.msg_register(itchat.content.TEXT) #模块自带装饰器 可根据需要自行百度 @itchat.msg_register(itchat.content.TEXT, isGroupChat=False) #针对群聊 def text_reply(msg): print msg #消息所有内容 bb=msg.get('User').get('NickName') # 网名 # if msg.get('ActualNickName') == 'xxx': 针对群聊 # return u'你可能不信 这是自动回复! 但是这确实是自动回复' if msg.get('User').get('RemarkName') == u'XXX': #备注 根据不同的人 回复不同消息 global num1, lis1 if num1 == len(lis1): lis1.append(u'你可能不信 这是自动回复! 但是这确实是自动回复') lis1.append(u'啥 不信 我他妈 ') lis1.append(u'你的网名:' + msg.get('User').get('NickName')) #获取网名 lis1.append(u'你的个性签名:' + msg.get('User').get('Signature')) #获取个性签名 更多信息 可从ms查看 sex = u'男' if msg.get('User').get('sex') == 1 else u'女' lis1.append(u'性别:' + sex) lis1.append(u'你所在城市:' + msg.get('User').get('City')) lis1.append(u'咋样信了吧 小样') lis1.append(u'告辞!!') lis1.append(u'家境贫寒告辞') b = lis1[0] del lis1[0] return b elif msg.get('User').get('NickName') == u'xx': global num2, lis2 if num2 == len(lis2): lis2.append(u',你可能不信 这是自动回复! 但是这确实是自动回复') lis2.append(u'啥 不信 我他妈 ') lis2.append(u'你的网名:' + msg.get('User').get('NickName')) lis2.append(u'你的个性签名:' + msg.get('User').get('Signature')) sex = u'男' if msg.get('User').get('sex') == 1 else u'女' lis2.append(u'性别:' + sex) lis2.append(u'你所在城市:' + msg.get('User').get('City')) lis2.append(u'咋样信了吧 小样') lis2.append(u'告辞!!') lis2.append(u'家境贫寒告辞') b = lis2[0] del lis2[0] return b # else: # return u'你可能不信 这是自动回复! 但是这确实是自动回复' itchat.auto_login() itchat.run()
运行后会生成一个二维码 扫码登陆 自动回复就搞好了 可以玩玩吆