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利用matplotlib库绘制饼图的方法示例
Dec 18 Python
详解Python中的相对导入和绝对导入
Jan 06 Python
matplotlib简介,安装和简单实例代码
Dec 26 Python
Python实现的rsa加密算法详解
Jan 24 Python
python如何实现内容写在图片上
Mar 23 Python
基于Pandas读取csv文件Error的总结
Jun 15 Python
python实现顺序表的简单代码
Sep 28 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
May 11 Python
Python中关于logging模块的学习笔记
Jun 03 Python
一行代码python实现文件共享服务器
Apr 22 Python
python高温预警数据获取实例
Jul 23 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遍历文件夹和文件列表示例分享
2014/03/11 PHP
codeigniter发送邮件并打印调试信息的方法
2015/03/21 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
php使用ob_flush不能每隔一秒输出原理分析
2015/06/02 PHP
PHP实现的一致性哈希算法完整实例
2015/11/14 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
php实例化一个类的具体方法
2019/09/19 PHP
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
2012/12/12 Javascript
jquery click([data],fn)使用方法实例介绍
2013/07/08 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
$(document).ready(function() {})不执行初始化脚本
2014/06/19 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
使用BootStrap实现悬浮窗口的效果
2016/12/13 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
JS简单实现父子窗口传值功能示例【未使用iframe框架】
2017/09/20 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
简单了解vue中父子组件如何相互传递值(基础向)
2019/07/12 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
pandas多级分组实现排序的方法
2018/04/20 Python
python使用scrapy发送post请求的坑
2018/09/04 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
指针和引用有什么区别
2013/01/13 面试题
2014年党员评议表自我评价
2014/09/27 职场文书
导游词之张家界
2019/10/31 职场文书
浅谈resultMap的用法及关联结果集映射
2021/06/30 Java/Android
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS