python微信公众号之关注公众号自动回复
我们知道一旦使用开发者模式,我们就无法使用公众号平台中的自动回复功能,也就是关注自动回复功能只有自己写才可以。
如图所示,我们无法直接使用此功能。
那么接着上一个博客,我们完成了关键词自动回复功能,博文地址
实现自动回复的机制就是:
一旦用户给公众号一个触发(有可能发了一段文字、或者图片等等,也可能是关注了公众号),后台就会收到一个对应的XML消息,我们需要做的就是解析它,并作出回应即可。
那么如果关注了一个公众号,公众号后台会收到这样的XML消息。
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[FromUser]]></FromUserName> <CreateTime>123456789</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[subscribe]]></Event> </xml>
参数如下:
以上,那就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使用Selenium时遇到网页<body>划不动的问题解决方法
如果在使用 Selenium 时遇到网页的 <body> 划不动的问题,这通常是因为页面的滚动机制(例如,可能使用了一个具有固定高度的容器或自定义的滚动条)导致无法通过简单的 JavaScript 实现滚动,可以通过以下方法来解决该问题2024-10-10Selenium 三种等待方式(强制等待、隐式等待、显示等待)
这篇文章主要介绍了Selenium 三种等待方式(强制等待、隐式等待、显示等待),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-02-02python创建字典(dict)的几种方法小结(含代码示例)
字典(Dictionary)是Python中一种非常灵活的数据结构,用于存储键值对(key-value pairs),在Python中创建字典有多种方法,每种方法都有其特定的使用场景和优势,本文将详细介绍Python中创建字典的几种常见方法,需要的朋友可以参考下2024-09-09
最新评论