微信的自動回復&接入聊天機器人


 今天偶爾發現了一個有趣的python庫--itchat,可以實現微信的自動回復、防撤回,結合圖靈機器人還能實現聊天機器人的作用

簡單介紹一下配置與工具

win7旗艦版  pycharm  python2.7(我在用python3版本運行時png.py會發生報錯,不知道大家那怎么樣)

這次用到的是python的itchat模塊,關於itchat這里有很詳細的介紹,同時也給出官方介紹:itchat

首先就是安裝itchat模塊,直接在cmd中運行

 

pip install itchat

 

安裝完成后就能靜靜的裝逼了

先給出防撤回以及自動回復的代碼:

#coding:utf-8
import re
import time

import itchat
from itchat.content import *
import sys 
reload(sys)
sys.setdefaultencoding('utf8')  #由於我們返回的是中文,Unicode的編碼問題,讀取文件時使用的編碼默認是ascii而不是utf8,所以這里我們要把默認編碼設為utf8

@itchat.msg_register([TEXT])   #這里我們先選擇注冊文本
def reply(msg):   #首先設置防撤回,接着ruturn后的內容就是自動回復的內容,這個自動回復僅對好友生效,群里不會生效
    friend = itchat.search_friends(userName=msg['FromUserName'])
    itchat.send(r"Friend:%s -- %s    "
                r"Time:%s    "
                r" Message:%s" % (friend['NickName'], friend['RemarkName'], time.ctime(), msg['Text']),
                toUserName='filehelper')

    return '快還錢'


if __name__ == '__main__':#啟動微信自動登錄,二維碼登錄
    itchat.auto_login(True)
    itchat.run()

防撤回功能是原理是將消息備份發送到文件助手toUserName='filehelper',由於是接入微信API,讀取消息會比手機端快一些。

如果要針對特定的人進行自動回復,這就就應該將return語句換為itchat.send(msg,toUserName=你的好友)

 

 

接下來就是接入聊天機器人的環節了(賊好玩)

首先要先去圖靈機器人注冊一個賬號去整個機器人

注冊以后選擇機器人管理-->創建機器人

 

創建完成后,機器人設置-->終端設置,把頁面往下拉能看到apikey,這個數據后面需要用到

接下來編寫我們的代碼:

# coding:utf-8
import requests
from wxpy import *
import itchat
import requests
import json

def get_response(_info):
    print(_info)                                       # 從好友發過來的消息
    api_url = 'http://www.tuling123.com/openapi/api'   # 圖靈機器人網址
    data = {
        'key': '你的key',     
        'info': _info,                                 # 這是我們從好友接收到的消息 然后轉發給圖靈機器人
        'userid': 'wechat-robot',                      # 這里你想改什么都可以
    }
    r = requests.post(api_url, data=data).json()       # 把data數據發
    print(r.get('text'))                               # 機器人回復給好友的消息
    return r

@itchat.msg_register(itchat.content.TEXT)      
def text_reply(msg):
    return get_response(msg["Text"])["text"]           # 將信息轉發給好友
if __name__ == '__main__': itchat.auto_login(True) itchat.run()

大家玩的開心!

 

 

 

 

 

friend = itchat.search_friends(userName=msg['FromUserName'])
    itchat.send(r"Friend:%s -- %s "
                r"Time:%s "
                r" Message:%s" % (friend['NickName'], friend['RemarkName'], time.ctime(), reply_content),
                toUserName='filehelper')

    itchat.send(r"我已經收到你在【%s】發送的消息【%s】稍后回復。--微信助手(Python版)" % (time.ctime(), reply_content),
                toUserName=msg['FromUserName'])


itchat.auto_login()
itchat.run()


免責聲明!

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



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