Уведомления

Группа в Telegram: @pythonsu

#1 Март 31, 2011 10:10:59

Doberman26rus
От: Ставрополь
Зарегистрирован: 2009-03-16
Сообщения: 128
Репутация: +  1  -
Профиль   Отправить e-mail  

xmpp echobot не отвечает

Простой пример 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, но у меня возникла такая проблема: до бота доходят сообщения, но обратно он не хочет их отправлять ни в какую, точнее в коде никаких ошибок не происходит, но мне ничего не приходит. Из-за чего это может быть?



подпись

Отредактировано (Март 31, 2011 10:13:45)

Офлайн

#2 Март 31, 2011 10:54:57

Doberman26rus
От: Ставрополь
Зарегистрирован: 2009-03-16
Сообщения: 128
Репутация: +  1  -
Профиль   Отправить e-mail  

xmpp echobot не отвечает

я тут сейчас почитал логи. Вот что пишет:

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>
и каждый раз он пытается запустить на новом порту. Может в этом проблема? Тогда как указать ему какой порт использовать?



подпись

Офлайн

#3 Март 31, 2011 13:07:11

S1asH
От:
Зарегистрирован: 2010-02-11
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

xmpp echobot не отвечает

Doberman26rus можете выложить бота полностью для изучения и желательно с комментариями
P.S. сам пытаюсь написать бота но не могу понять как научить бота отправлять сообщения пользователям



Офлайн

#4 Март 31, 2011 13:32:12

Doberman26rus
От: Ставрополь
Зарегистрирован: 2009-03-16
Сообщения: 128
Репутация: +  1  -
Профиль   Отправить e-mail  

xmpp echobot не отвечает

это и есть бот полностью=)



подпись

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version