基於Python實現微信自動回復功能
大傢好,之前我們使用 WechatPCAPI 做瞭獲取微信好友信息以及查看撤回消息,本文我們再使用 WechatPCAPI 來實現微信自動回復的功能。
實現自動回復的功能,我們需要用到圖靈機器人,網址為:http://www.turingapi.com,我們在瀏覽器中輸入上述網址打開,之後點擊註冊/登錄按鈕,如下圖所示:
打開後如下圖所示:
我們接著點擊立即註冊,就跳轉到瞭註冊頁,如下圖所示:
我們先填寫必填信息,填寫完之後點擊註冊按鈕即可,註冊成功之後便跳到瞭機器人管理頁面,如下所示:
我們點擊創建機器人按鈕跳轉到如下頁面:
我們填寫完相應信息之後點創建按鈕,之後會跳轉到機器人設置頁面,如下圖所示:
我們需要記錄下 apikey。
有瞭 apikey,我們就可以實現自動回復功能瞭,實現代碼如下所示:
import time, logging, random, requests from queue import Queue from WechatPCAPI import WechatPCAPI logging.basicConfig(level=logging.INFO) queue_recved_event = Queue() def on_message(msg): queue_recved_event.put(msg) # 機器人返回消息 def reply_msg(receive_msg): apikey = '自己的apikey' apiurl = 'http://www.tuling123.com/openapi/api?key=%s&info=%s' % (apikey, receive_msg) result = requests.get(apiurl) result.encoding = 'utf-8' data = result.json() return data['text'] def login(): pre_msg = '' # 初始化微信實例 wx_inst = WechatPCAPI(on_message=on_message, log=logging) # 啟動微信 wx_inst.start_wechat(block=True) # 等待登陸成功,此時需要人為掃碼登錄微信 while not wx_inst.get_myself(): time.sleep(5) print('登陸成功') while True: msg = queue_recved_event.get() if 'msg::single' in msg.get('type'): data = msg.get('data') if data.get('is_recv', False): msgfrominfo = data.get('msgfrominfo') if msgfrominfo is not None: wx_id = msgfrominfo.get('wx_id') if wx_id != 'weixin': receive_msg =str(data.get('msgcontent')) reply = reply_msg(receive_msg) wx_inst.send_text(to_user=wx_id, msg=reply)
看一下實現效果:
以上就是基於Python實現微信自動回復功能的詳細內容,更多關於Python微信自動回復的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- python3 queue多線程通信
- 解決python logging遇到的坑 日志重復打印問題
- 基於 Python實現雲服務器的CDN域名遠程鑒權配置
- Python進階之協程詳解
- Python用SSH連接到網絡設備