Форум сайта python.su
Простой пример 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)
Отредактировано (Март 31, 2011 10:13:45)
Офлайн
я тут сейчас почитал логи. Вот что пишет:
2011-03-31 11:51:52+0400 [-] <class 'twisted.names.dns.DNSDatagramProtocol'> starting on 10211
2011-03-31 11:51:52+0400 [-] Starting protocol <twisted.names.dns.DNSDatagramProtocol object at 0x8dff52c>
2011-03-31 11:51:52+0400 [-] (Port 10211 Closed)
2011-03-31 11:51:52+0400 [-] Stopping protocol <twisted.names.dns.DNSDatagramProtocol object at 0x8dff52c>
Офлайн
Doberman26rus можете выложить бота полностью для изучения и желательно с комментариями
P.S. сам пытаюсь написать бота но не могу понять как научить бота отправлять сообщения пользователям
Офлайн
это и есть бот полностью=)
Офлайн