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)文章
Python數(shù)據(jù)分析基礎(chǔ)之異常值檢測和處理方式
這篇文章主要介紹了Python數(shù)據(jù)分析基礎(chǔ)之異常值檢測和處理方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
python-opencv 將連續(xù)圖片寫成視頻格式的方法
今天小編就為大家分享一篇python-opencv 將連續(xù)圖片寫成視頻格式的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
python 遍歷目錄(包括子目錄)下所有文件的實(shí)例
今天小編就為大家分享一篇python 遍歷目錄(包括子目錄)下所有文件的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
使用python flask框架開發(fā)圖片上傳接口的案例詳解
剛領(lǐng)導(dǎo)安排任務(wù),需求是這樣的開發(fā)一個(gè)支持多格式圖片上傳的接口,并且將圖片壓縮,支持在線預(yù)覽圖片,下面小編分享下使用python flask框架開發(fā)圖片上傳接口的案例詳解,感興趣的朋友一起看看吧2022-04-04

