python itchat實現微信自動回覆
本次使用圖靈機器人介面實現個人微信的自動回覆。
一:首先申請圖靈賬號
http://www.tuling123.com/
申請完在後臺建立機器人
得到apikey
二:
使用python提供的itchat實現個人微信登入和自動回覆
(1)微信登入和訊息監聽
# -*- coding=utf-8 -*-
import requests
import itchat
import random
from Tuling import Tuling
import sys
reload(sys)
sys.setdefaultencoding('utf8')
tuling = Tuling('http://openapi.tuling123.com/openapi/api/v2') #圖靈機器人2版本
@itchat.msg_register(itchat.content.TEXT)
def tuling_reply(msg):
#msg['Text'] = unicode(msg['Text'], 'utf - 8')
defaultReply = 'I received: ' + msg['Text']
print defaultReply
robots=["\n——-(機器人小黃)","\n——-(機器人大奔)"]
reply = tuling.getTextByV2(msg['Text'])+random.choice(robots)
return reply or defaultReply
itchat.auto_login(enableCmdQR=2)
itchat.run()
(2)圖靈機器人回覆
# -*- coding:utf-8 -*-
import requests
import json
import random
#圖靈機器人實現聊天自動回覆
class Tuling():
key = ['k1','k2']
url = 'http://openapi.tuling123.com/openapi/api/v2'
def __init__(self,url):
self.url = url
def getKey(self):
return random.randint(0, len(self.key)-1)
def getTextByV2(self,text):
data = {
"reqType": 0,
"perception": {
"inputText": {
"text": text
},
},
"userInfo": {
"apiKey": self.getKey(),
"userId": "111"
}
}
data = json.dumps(data).encode('utf8')
try:
r = requests.post(self.url, data=data, headers={'content-type': 'application/json'}).json()
return r.get('results')[0]['values']['text']
except Exception as e:
return e
三:執行程式碼 掃碼登入微信,開始愉快聊天吧