1. 程式人生 > >python itchat實現微信自動回覆

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


三:執行程式碼  掃碼登入微信,開始愉快聊天吧