Python itchat模塊的使用,利用圖靈機器人進行微信消息自動回覆

1、下載安裝itchat模塊

在這裏插入圖片描述

2、小實驗:獲取微信好友頭像信息

這須要用itchat模塊中的一個方法python

itchat.get_friends()#獲取微信全部微信好友信息

如今咱們導入itchat,打印一下,看看好友信息有哪些字段數據web

import itchat
#itchat.login()生成一個登錄二維碼,此方式每次程序運行都須要掃碼
itchat.auto_login(hotReload=True)#持續登陸,只用掃一次二維碼便可
friends = itchat.get_friends()#獲取微信全部好友信息
for i in friends:
	print(i)

這裏只拿出幾個經常使用字段說明:
UserName:微信號惟一標識符
NickName:微信名
HeadImgUrl:頭像url
RemarkName:備註
Signature:簽名
Province:省份
City:城市json

從好友信息對象中獲取頭像圖片並存儲:api

import itchat
#itchat.login()生成一個登錄二維碼,此方式每次程序運行都須要掃碼
itchat.auto_login(hotReload=True)#持續登陸,只用掃一次二維碼便可
friends = itchat.get_friends()#獲取微信全部好友信息
print(friends)
for i in friends:
    img = itchat.get_head_img(userName=i['UserName'])#獲取好友頭像
    path = r'C:\Users\Administrator\PycharmProjects\untitled\Test\微信好友:'+i['RemarkName']+'.jpg'
    with open(path,'wb') as f:
        f.write(img)

3、使用圖靈機器人實現微信自動回覆

進入圖靈機器人官方網站建立機器人
在這裏插入圖片描述
記錄機器人的apikey
進入幫助中心,找到apiv2.0接入教程,裏面會有詳細的對接教程及一些參數的說明
在這裏插入圖片描述
而後就能夠開始經過python itchat和圖靈機器人進行對接,實現自動回覆消息微信

import itchat
import requests
import json

def get_response(msg):
    url = 'http://openapi.tuling123.com/openapi/api/v2'
    data = {
	"reqType":0,
    "perception": {
        "inputText": {
            "text": msg
        },
        "inputImage": {
            "url": "imageUrl"
        },
        "selfInfo": {
            "location": {
                "city": "北京",
                "province": "北京",
                "street": "信息路"
                }
            }
        },
        "userInfo": {
            "apiKey": "圖靈機器人apikey號",
            "userId": "what"#userID隨便填一個字符
        }
    }
    data = json.dumps(data)#把data變成json格式
    response = requests.post(url,data=data).json()#打印出來是個字典
    #print(response['results'][0]['values']['text'])#從數據中取出機器人回覆的消息文字
    return(response['results'][0]['values']['text'])
#get_response('你有什麼事嗎')#模擬好友發送信息
#python3中能夠使用json模塊來對json數據進行編解碼
#它包含了兩個函數:
#json.dumps()對數據進行編碼
#json.loads()對數據進行解碼
itchat.auto_login(hotReload=True)#保持登陸
@itchat.msg_register(itchat.content.TEXT)#裝飾器,對下面的函數添加新功能
def auto_reply(message):
    #print(message)
    only_reply_info = '哈哈哈,你又上當了!'#設置指定回覆消息
    friend_info = message['Text']#獲取好友發送的文本信息
    friend_id = message['FromUserName']#獲取好友id
    reply_info = get_response(friend_info)#將好友信息發送給圖靈機器人
    only_friend_info = itchat.search_friends(name='微信備註名')#獲取指定好友發送的消息
    if friend_id == only_friend_info[0]['UserName']:
        itchat.send(msg=only_reply_info, toUserName=friend_id)#規定指定聯繫人回覆消息
    else:
        itchat.send(msg=reply_info,toUserName=friend_id)#正常機器人智能回覆

if __name__ == "__main__":
	itchat.run()
相關文章
相關標籤/搜索