實(shí)現(xiàn)自動(dòng)回復(fù)的功能,我們需要用到圖靈機(jī)器人,網(wǎng)址為: http://www.turingapi.com
,我們?cè)跒g覽器中輸入上述網(wǎng)址打開(kāi),之后點(diǎn)擊 注冊(cè)/登錄
按鈕,如下圖所示:
打開(kāi)后如下圖所示:
我們接著點(diǎn)擊 立即注冊(cè)
,就跳轉(zhuǎn)到了注冊(cè)頁(yè),如下圖所示:
我們先填寫(xiě)必填信息,填寫(xiě)完之后點(diǎn)擊 注冊(cè)
按鈕即可,注冊(cè)成功之后便跳到了機(jī)器人管理頁(yè)面,如下所示:
我們點(diǎn)擊 創(chuàng)建機(jī)器人
按鈕跳轉(zhuǎn)到如下頁(yè)面:
我們填寫(xiě)完相應(yīng)信息之后點(diǎn) 創(chuàng)建
按鈕,之后會(huì)跳轉(zhuǎn)到機(jī)器人設(shè)置頁(yè)面,如下圖所示:
我們需要記錄下 apikey
。
有了 apikey
,我們就可以實(shí)現(xiàn)自動(dòng)回復(fù)功能了,實(shí)現(xiàn)代碼如下所示:
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) # 機(jī)器人返回消息 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 = '' # 初始化微信實(shí)例 wx_inst = WechatPCAPI(on_message=on_message, log=logging) # 啟動(dòng)微信 wx_inst.start_wechat(block=True) # 等待登陸成功,此時(shí)需要人為掃碼登錄微信 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)
看一下實(shí)現(xiàn)效果: