python微信公众号之关注公众号自动回复


Posted in Python onOctober 25, 2018

我们知道一旦使用开发者模式,我们就无法使用公众号平台中的自动回复功能,也就是关注自动回复功能只有自己写才可以。

python微信公众号之关注公众号自动回复

如图所示,我们无法直接使用此功能。

那么接着上一个博客,我们完成了关键词自动回复功能,博文地址

实现自动回复的机制就是:
一旦用户给公众号一个触发(有可能发了一段文字、或者图片等等,也可能是关注了公众号),后台就会收到一个对应的XML消息,我们需要做的就是解析它,并作出回应即可。

那么如果关注了一个公众号,公众号后台会收到这样的XML消息。

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe]]></Event>
</xml>

参数如下:

python微信公众号之关注公众号自动回复

以上,那就easy了,我们只要解析这个XML,获得MsgType为event,那么就进行判断event是否为“subscribe”如果是,就进行回复消息即可。

关键代码如下:(具体代码看上一个博文)

def parse_xml(web_data):
 if len(web_data) == 0:
  return None
 xmlData = ET.fromstring(web_data)
 msg_type = xmlData.find('MsgType').text
 ...#省略了一部分
 elif msg_type == 'event':#判断为事件消息
  #print('event')
  return EventMsg(xmlData)
class EventMsg(Msg):
 def __init__(self, xmlData):
  Event.__init__(self, xmlData)
  self.Event = xmlData.find('Event').text#取Event这个参数里的内容
if recMsg.MsgType == 'event':
     #print('yes')
     event = recMsg.Event
     if event == 'subscribe':#判断如果是关注则进行回复
      content = "。。。"
      replyMsg = reply.TextMsg(toUser, fromUser, content)
      return replyMsg.send()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python之PyMongo使用总结
May 26 Python
Python实现的朴素贝叶斯分类器示例
Jan 06 Python
Selenium元素的常用操作方法分析
Aug 10 Python
Python设计模式之命令模式原理与用法实例分析
Jan 11 Python
python调用c++ ctype list传数组或者返回数组的方法
Feb 13 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
对Django 转发和重定向的实例详解
Aug 06 Python
全网首秀之Pycharm十大实用技巧(推荐)
Apr 27 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
Apr 29 Python
python线程池如何使用
May 28 Python
Python如何使用input函数获取输入
Aug 06 Python
python re模块常见用法例举
Mar 01 Python
python 文件查找及内容匹配方法
Oct 25 #Python
利用python循环创建多个文件的方法
Oct 25 #Python
用python生成1000个txt文件的方法
Oct 25 #Python
Python爬虫之正则表达式的使用教程详解
Oct 25 #Python
python实现键盘控制鼠标移动
Nov 27 #Python
解决python 无法加载downsample模型的问题
Oct 25 #Python
python实现写数字文件名的递增保存文件方法
Oct 25 #Python
You might like
php中二维数组排序问题方法详解
2015/08/28 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
html文件中jquery与velocity变量中的$冲突的解决方法
2013/11/01 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
基于JavaScript实现简单的音频播放功能
2018/01/07 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
python实现图片变亮或者变暗的方法
2015/06/01 Python
Python3.6使用tesseract-ocr的正确方法
2018/10/17 Python
Django中URL的参数传递的实现
2019/08/04 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
Python selenium自动化测试模型图解
2020/04/15 Python
python excel和yaml文件的读取封装
2021/01/12 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
html5标记文字_动力节点Java学院整理
2017/07/11 HTML / CSS
C语言笔试题回忆
2015/04/02 面试题
个人求职信范文分享
2014/01/31 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
教师先进个人材料
2014/12/17 职场文书
护士年终考核评语
2014/12/31 职场文书
员工工作表扬信
2015/05/05 职场文书
意外事故赔偿协议书
2016/03/22 职场文书