2017-07-10 89 views
0

我有一個小型python腳本可以將xmpp消息發送給給定的收件人。如果存在收件人的現有訂閱,那麼這很有效,否則郵件將不會被髮送。訂閱新收件人:update_roster()似乎掛起

由於系統定期有新用戶,因此我有了使用update_roster(recipient,block=False,subscription="both")自動訂閱新收件人的想法。但不幸的是,劇本似乎掛在那裏。

爲什麼?

見下面我的代碼...

class SendMsgBot(sleekxmpp.ClientXMPP): 

    def __init__(self, jid, password, recipient, message): 
    sleekxmpp.ClientXMPP.__init__(self, jid, password) 

    self.recipient = recipient 
    self.msg = message 

    self.add_event_handler("session_start", self.start) 

    def start(self, event): 
    self.send_presence() 
    self.get_roster() 
    if self.msg =="": 
     # HERE IT IS .... 
     self.update_roster(recipient,block=False,subscription="both") 
    else: 
     self.send_message(mto=self.recipient, 
         mbody=self.msg, 
         mtype='chat') 

    self.disconnect(wait=True) 

回答

0

好吧,顯然我剛剛解決這個自己。改變subscription="both"subscription="to" - 這樣的說法是這樣的:

 self.update_roster(recipient,block=False,subscription="to") 

:-)

相關問題