今天發現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()
運行后會生成一個二維碼 掃碼登陸 自動回復就搞好了 可以玩玩吆