python微信機器人自動回復


python3環境

一.需要的包

import itchat
import requests
import re

圖靈機器人api

  所需的包安裝都比較簡單,re是python自帶的模塊,itchat是python與微信交互的一個第三方庫,直接pip install itchat即可,但是需要注意的是,如果你的微信不能登錄微信網頁版,那么很遺憾,本篇文章的功能將不能實現;requests是一個網絡請求的模塊,也只需要pip install requests即可;要實現自動回復並聊天功能,需要連接機器人接口,這里我們調用圖靈的api,可以進行免費注冊,需要注意的是必須要認證,否則一天只能調用一兩次,調用方法可以參考:https://www.cnblogs.com/wangtaobiu/p/10603924.html 中的第三部分.

二.主要思路

  首先通過python的itchat登錄微信,每當接收到消息時,后台會通過圖靈接口生成要回復的話(對於圖片表情需做特別處理,感興趣的可以自己研究),如果不是本人回復,可在回復前加上機器人標識.

三.參考代碼

import itchat
import requests
import re


# 抓取網頁
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):
    # 當消息不是由自己發出的時候
    if not msg['FromUserName'] == Name["屁桃🍑"]:   # 這里是你自己的微信昵稱
        # 回復給好友
        url = "http://www.tuling123.com/openapi/api?key=6c2cf***************b89c26&info="  # 圖靈的接口
        print(msg['Text'])
        url = url + msg['Text']
        html = getHtmlText(url)
        message = re.findall(r'\"text\"\:\".*?\"', html)
        reply = '機器人: ' + eval(message[0].split(':')[1])
        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()

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM