我尝试了这里给出的答案。在这里查找问题,并发现一些东西表明这在这里是完全没有希望的
我已经尝试升级我的openssl(macports),并尝试安装pyopenssl(macports)。虽然我以前在macports方面遇到过问题,但我在xmpppy和sleekxmpp方面取得了成功。因此,我不得不怀疑wokkel和google talk之间是否存在某种不兼容(如第三个链接所示)。这对我来说似乎很奇怪,因为google talk(据我所知)是一种非常流行的交流媒介。
我的问题只是,自2008年以来,是否有人成功地让wokkel与谷歌对话合作,如果是,如何?
这就是我所拥有的:
from twisted.words.xish import domish
from wokkel.xmppim import MessageProtocol, AvailablePresence
class EchoBotProtocol(MessageProtocol):
def connectionMade(self):
print "Connected!"
# send initial presence
self.send(AvailablePresence())
def connectionLost(self, reason):
print "Disconnected!"
def onMessage(self, msg):
print str(msg)
if msg["type"] == 'chat' and hasattr(msg, "body"):
reply = domish.Element((None, "message"))
reply["to"] = msg["from"]
reply["from"] = msg["to"]
reply["type"] = 'chat'
reply.addElement("body", content="echo: " + str(msg.body))
self.send(reply)
from twisted.application import service
from twisted.words.protocols.jabber import jid
from wokkel.client import XMPPClient
application = service.Application("echobot")
xmppclient = XMPPClient(jid.internJID("someuser@example.com/echobot"), "pass")
xmppclient.logTraffic = False
echobot = EchoBotProtocol()
echobot.setHandlerParent(xmppclient)
xmppclient.setServiceParent(application)
我通过安装pyOpenSSL解决了这个问题。