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中用于转换字母为小写的lower()方法使用简介
May 19 Python
Python数据拟合与广义线性回归算法学习
Dec 22 Python
Python列表解析配合if else的方法
Jun 23 Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 Python
Python告诉你木马程序的键盘记录原理
Feb 02 Python
对Django url的几种使用方式详解
Aug 06 Python
Python 中的pygame安装与配置教程详解
Feb 10 Python
使用Pyhton 分析酒店针孔摄像头
Mar 04 Python
解决Python安装cryptography报错问题
Sep 03 Python
python 实现图片批量压缩的示例
Dec 18 Python
Django与AJAX实现网页动态数据显示的示例代码
Feb 24 Python
python基础之文件处理知识总结
May 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目录操作实例总结
2016/09/27 PHP
php 如何禁用eval() 函数实例详解
2016/12/01 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
jQuery Mobile 导航栏代码
2013/11/01 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
For循环中分号隔开的3部分的执行顺序探讨
2014/05/27 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
javascript实现评分功能
2020/06/24 Javascript
pyqt和pyside开发图形化界面
2014/01/22 Python
Python程序设计入门(4)模块和包
2014/06/16 Python
python控制台中实现进度条功能
2015/11/10 Python
Python实现多级目录压缩与解压文件的方法
2018/09/01 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
python的debug实用工具 pdb详解
2019/07/12 Python
python tkinter实现屏保程序
2019/07/30 Python
Python迭代器模块itertools使用原理解析
2019/12/11 Python
keras输出预测值和真实值方式
2020/06/27 Python
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
Bally澳大利亚官网:瑞士奢侈品牌
2018/11/01 全球购物
有模特经验的简历自我评价
2013/09/19 职场文书
实习自荐信
2013/10/13 职场文书
材料员岗位职责
2015/02/10 职场文书
2015感人爱情寄语
2015/02/26 职场文书
工会文体活动总结
2015/05/07 职场文书
法律意见书范文
2015/06/04 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书
2019年最新七夕唯美祝福语(60条)
2019/07/22 职场文书