Я попробовал ответ, данный здесь . Посмотрел проблему здесь и нашел что-то, указывающее на то, что это совершенно безнадежно здесь
Я уже пытался обновить мой openssl (macports) и пытался установить pyopenssl (macports.) Хотя раньше у меня были проблемы с macports, у меня были успехи с xmpppy и sleekxmpp. Следовательно, я должен задаться вопросом, существует ли какая-то несовместимость между wokkel и google talk (как предлагается в третьей ссылке). Это кажется мне странным, поскольку google talk является (насколько я знаю) очень популярным средством общения.
У меня вопрос просто: удалось ли кому-нибудь успешно работать с Google Talk с 2008 года, и если да, то как?
Вот что у меня есть:
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)