您好,登錄后才能下訂單哦!
我們知道一旦使用開發者模式,我們就無法使用公眾號平臺中的自動回復功能,也就是關注自動回復功能只有自己寫才可以。
如圖所示,我們無法直接使用此功能。
那么接著上一個博客,我們完成了關鍵詞自動回復功能,博文地址
實現自動回復的機制就是:
一旦用戶給公眾號一個觸發(有可能發了一段文字、或者圖片等等,也可能是關注了公眾號),后臺就會收到一個對應的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()
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。