Простой пример XMPP-бота:
# -*- coding: utf-8 -*-
#echobot.py
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)
# -*- coding: utf-8 -*-
#echobot.tac
from twisted.application import service
from twisted.words.protocols.jabber import jid
from wokkel.client import XMPPClient
from echobot import EchoBotProtocol
application = service.Application("echobot")
xmppclient = XMPPClient(jid.internJID("someuser@gmail.com/echobot"), "pass")
xmppclient.logTraffic = False
echobot = EchoBotProtocol()
echobot.setHandlerParent(xmppclient)
xmppclient.setServiceParent(application)
Учётную запись боту я сделал на gmail, но у меня возникла такая проблема: до бота доходят сообщения, но обратно он не хочет их отправлять ни в какую, точнее в коде никаких ошибок не происходит, но мне ничего не приходит. Из-за чего это может быть?