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中DOM方法的动态性
Apr 11 Python
在Linux下使用Python的matplotlib绘制数据图的教程
Jun 11 Python
python获取当前运行函数名称的方法实例代码
Apr 06 Python
老生常谈python函数参数的区别(必看篇)
May 29 Python
Python之列表的插入&amp;替换修改方法
Jun 28 Python
django连接mysql配置方法总结(推荐)
Aug 18 Python
把pandas转换int型为str型的方法
Jan 29 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
May 08 Python
pytorch的batch normalize使用详解
Jan 15 Python
基于python实现对文件进行切分行
Apr 26 Python
Python 在函数上添加包装器
Jul 28 Python
最新pycharm安装教程
Nov 18 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使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
js用typeof方法判断undefined类型
2014/07/15 Javascript
Javascript中call与apply的学习笔记
2014/09/22 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
JS实现的倒计时效果实例(2则实例)
2015/12/23 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
nodejs log4js 使用详解
2019/05/31 NodeJs
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
如何使用python爬取csdn博客访问量
2016/02/14 Python
python相似模块用例
2016/03/04 Python
Python检测生僻字的实现方法
2016/10/23 Python
python itchat给指定联系人发消息的方法
2019/06/11 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
python 错误处理 assert详解
2020/04/20 Python
css3背景图片透明叠加属性cross-fade简介及用法实例
2013/01/08 HTML / CSS
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
新秀丽官方旗舰店:Samsonite拉杆箱、双肩包、皮具
2018/03/05 全球购物
会计专业大学生求职信范文
2014/01/28 职场文书
年度考核自我鉴定
2014/03/19 职场文书
保险内勤岗位职责
2014/04/05 职场文书
房屋出租委托书格式
2014/09/23 职场文书
工作检讨书怎么写
2014/10/10 职场文书
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle
MySQL查询日期时间
2022/05/15 MySQL