在以前的文章 Python遇到微信 中,咱们使用 WechatPCAPI 作了获取微信好友信息以及查看撤回消息,本文咱们再使用 WechatPCAPI 来实现微信自动回复的功能。python
实现自动回复的功能,咱们须要用到图灵机器人,网址为:http://www.turingapi.com
,咱们在浏览器中输入上述网址打开,以后点击注册/登陆
按钮,以下图所示:json
打开后以下图所示:api
咱们接着点击当即注册
,就跳转到了注册页,以下图所示:浏览器
咱们先填写必填信息,填写完以后点击注册
按钮便可,注册成功以后便跳到了机器人管理页面,以下所示:微信
咱们点击建立机器人
按钮跳转到以下页面:dom
咱们填写完相应信息以后点建立
按钮,以后会跳转到机器人设置页面,以下图所示:url
咱们须要记录下 apikey
。spa
有了 apikey
,咱们就能够实现自动回复功能了,实现代码以下所示:code
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)
看一下实现效果:utf-8
完整代码在下方公众号后台回复 200523 获取。