在之前的文章 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學習qq羣:775690737 送python零基礎入門學習資料+99個源碼
看一下實現效果: