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统计文件行数示例分享
Feb 21 Python
python检测远程服务器tcp端口的方法
Mar 14 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
Apr 28 Python
在Python中的Django框架中进行字符串翻译
Jul 27 Python
Python使用email模块对邮件进行编码和解码的实例教程
Jul 01 Python
用Python实现随机森林算法的示例
Aug 24 Python
pandas数值计算与排序方法
Apr 12 Python
使用pandas的DataFrame的plot方法绘制图像的实例
May 24 Python
pycharm运行和调试不显示结果的解决方法
Nov 30 Python
Python实现数据结构线性链表(单链表)算法示例
May 04 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
Feb 15 Python
Python urlopen()参数代码示例解析
Dec 10 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继承的一个应用
2011/09/06 PHP
Memcached常用命令以及使用说明详解
2013/06/27 PHP
PHP遍历数组的三种方法及效率对比分析
2015/02/12 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
Symfony2 session用法实例分析
2016/02/04 PHP
PHP微商城开源代码实例
2019/03/27 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
Javascript中的常见排序算法
2007/03/27 Javascript
javascript实现 在光标处插入指定内容
2007/05/25 Javascript
Javascript中的var_dump函数实现代码
2009/09/07 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
js 左右悬浮对联广告代码示例
2014/12/12 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
vue实现放大镜效果
2020/09/17 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
基于python编写的微博应用
2014/10/17 Python
使用IronPython把Python脚本集成到.NET程序中的教程
2015/03/31 Python
Python的动态重新封装的教程
2015/04/11 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
使用python绘制温度变化雷达图
2019/10/18 Python
python异常处理和日志处理方式
2019/12/24 Python
几款好用的python工具库(小结)
2020/10/20 Python
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
求职信内容考虑哪几点
2013/10/05 职场文书
2014年师德承诺书
2014/05/23 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
《颐和园》教学反思
2016/02/19 职场文书
pytorch 中nn.Dropout的使用说明
2021/05/20 Python