通过SleekXMPP发送facebook消息

2024-05-15 21:16:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用sleekXMPP在facebook聊天上发送一条消息,用这里的答案作为样板:Send a Facebook Message with XMPP using Access Tokens in Python

我的代码是

import sleekxmpp

class SendMsgBot(sleekxmpp.ClientXMPP):
    def init(self, jid, recipient, message):

        print "..."

        sleekxmpp.ClientXMPP.__init__(self, jid, 'ignore')
        self.recipient = recipient
        self.msg = message
        self.add_event_handler("session_start", self.start, threaded=True)

    def start(self, event):
        self.send_presence()
        self.get_roster()
        self.send_message(mto=self.recipient, mbody=self.msg, mtype='chat')

        self.disconnect(wait=True)



if __name__ == "__main__":
    xmpp = SendMsgBot(from_id, to_id, unicode(message))

    xmpp.credentials['apikey'] = api_key
    xmpp.credentials['accesstoken'] = o_auth_token

    if xmpp.connect(('chat.facebook.com', 5222)):
        xmpp.process(block=True)
        print("Done")
    else:
        print("Unable to connect")

但是,当我运行脚本时,我收到以下错误消息:

^{pr2}$

任何想法都将不胜感激!在


Tags: selftrue消息messagefacebookinitdefxmpp
2条回答

此外,一些重要的破折号似乎已从原始代码中删除。在

我也不得不改变

xmpp.credentials['apikey'] = api_key
xmpp.credentials['accesstoken'] = o_auth_token

^{pr2}$

这些显然是Facebook期望的参数名,正如您在Facebook的PHPexample中看到的那样

在SendMsgBot类中(sleekxmpp.ClientXMPP):,你需要改变

def init(self,jid,recipient,message)到def init(self,jid,recipient,message)

我希望它能起作用。在

相关问题 更多 >