python微信公眾號之關(guān)注公眾號自動(dòng)回復(fù)
我們知道一旦使用開發(fā)者模式,我們就無法使用公眾號平臺中的自動(dòng)回復(fù)功能,也就是關(guān)注自動(dòng)回復(fù)功能只有自己寫才可以。
如圖所示,我們無法直接使用此功能。
那么接著上一個(gè)博客,我們完成了關(guān)鍵詞自動(dòng)回復(fù)功能,博文地址
實(shí)現(xiàn)自動(dòng)回復(fù)的機(jī)制就是:
一旦用戶給公眾號一個(gè)觸發(fā)(有可能發(fā)了一段文字、或者圖片等等,也可能是關(guān)注了公眾號),后臺就會收到一個(gè)對應(yīng)的XML消息,我們需要做的就是解析它,并作出回應(yīng)即可。
那么如果關(guān)注了一個(gè)公眾號,公眾號后臺會收到這樣的XML消息。
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[FromUser]]></FromUserName> <CreateTime>123456789</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[subscribe]]></Event> </xml>
參數(shù)如下:
以上,那就easy了,我們只要解析這個(gè)XML,獲得MsgType為event,那么就進(jìn)行判斷event是否為“subscribe”如果是,就進(jìn)行回復(fù)消息即可。
關(guān)鍵代碼如下:(具體代碼看上一個(gè)博文)
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這個(gè)參數(shù)里的內(nèi)容
if recMsg.MsgType == 'event': #print('yes') event = recMsg.Event if event == 'subscribe':#判斷如果是關(guān)注則進(jìn)行回復(fù) content = "。。。" replyMsg = reply.TextMsg(toUser, fromUser, content) return replyMsg.send()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
PyG搭建GCN需要準(zhǔn)備的數(shù)據(jù)格式
這篇文章主要為大家介紹了PyG搭建GCN前需要準(zhǔn)備的PyG數(shù)據(jù)格式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Python爬取數(shù)據(jù)并寫入MySQL數(shù)據(jù)庫的實(shí)例
今天小編就為大家分享一篇Python爬取數(shù)據(jù)并寫入MySQL數(shù)據(jù)庫的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06Python使用Selenium時(shí)遇到網(wǎng)頁<body>劃不動(dòng)的問題解決方法
如果在使用 Selenium 時(shí)遇到網(wǎng)頁的 <body> 劃不動(dòng)的問題,這通常是因?yàn)轫撁娴臐L動(dòng)機(jī)制(例如,可能使用了一個(gè)具有固定高度的容器或自定義的滾動(dòng)條)導(dǎo)致無法通過簡單的 JavaScript 實(shí)現(xiàn)滾動(dòng),可以通過以下方法來解決該問題2024-10-10Selenium?三種等待方式(強(qiáng)制等待、隱式等待、顯示等待)
這篇文章主要介紹了Selenium?三種等待方式(強(qiáng)制等待、隱式等待、顯示等待),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02利用Pandas 創(chuàng)建空的DataFrame方法
下面小編就為大家分享一篇利用Pandas 創(chuàng)建空的DataFrame方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04利用python數(shù)據(jù)分析處理進(jìn)行炒股實(shí)戰(zhàn)行情
這篇文章主要介紹了利用python數(shù)據(jù)分析進(jìn)行炒股實(shí)戰(zhàn)行情,本文主要介紹三部分:數(shù)據(jù)采集,數(shù)據(jù)預(yù)處理,利用SVM算法進(jìn)行建模,本文僅供參考借鑒2021-08-08python創(chuàng)建字典(dict)的幾種方法小結(jié)(含代碼示例)
字典(Dictionary)是Python中一種非常靈活的數(shù)據(jù)結(jié)構(gòu),用于存儲鍵值對(key-value pairs),在Python中創(chuàng)建字典有多種方法,每種方法都有其特定的使用場景和優(yōu)勢,本文將詳細(xì)介紹Python中創(chuàng)建字典的幾種常見方法,需要的朋友可以參考下2024-09-09Python實(shí)現(xiàn)將羅馬數(shù)字轉(zhuǎn)換成普通阿拉伯?dāng)?shù)字的方法
這篇文章主要介紹了Python實(shí)現(xiàn)將羅馬數(shù)字轉(zhuǎn)換成普通阿拉伯?dāng)?shù)字的方法,簡單分析了羅馬數(shù)字的構(gòu)成并結(jié)合實(shí)例形式給出了Python轉(zhuǎn)換羅馬數(shù)字為阿拉伯?dāng)?shù)字的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-04-04