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的Django框架的运行方式及处理流程
Apr 08 Python
python实现从字典中删除元素的方法
May 04 Python
Python socket编程实例详解
May 27 Python
你所不知道的Python奇技淫巧13招【实用】
Dec 14 Python
Python中元组,列表,字典的区别
May 21 Python
shell命令行,一键创建 python 模板文件脚本方法
Mar 20 Python
PyQt5固定窗口大小的方法
Jun 18 Python
Python实现中值滤波去噪方式
Dec 18 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
Dec 14 Python
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
Apr 14 Python
python 学习GCN图卷积神经网络
May 11 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的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
2015/05/11 PHP
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
js ajaxfileupload.js上传报错的解决方法
2016/05/05 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
python字典get()方法用法分析
2015/04/17 Python
合并百度影音的离线数据( with python 2.3)
2015/08/04 Python
Python的净值数据接口调用示例分享
2016/03/15 Python
利用Python爬取微博数据生成词云图片实例代码
2017/08/31 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
python pygame实现方向键控制小球
2019/05/17 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
宝信软件JAVA工程师面试经历
2012/08/19 面试题
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
大学毕业生工作的自我评价
2013/10/01 职场文书
重阳节登山活动方案
2014/02/03 职场文书
认识深刻的检讨书
2014/02/16 职场文书
大专生找工作自荐书
2014/06/10 职场文书
党员剖析材料范文
2014/09/30 职场文书
蓬莱阁导游词
2015/02/04 职场文书
兴趣班停课通知
2015/04/24 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
golang 实现并发求和
2021/05/08 Golang
python not运算符的实例用法
2021/06/30 Python
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL