Нжно написать джаббер-бота. Использую xmpp библиотеку. На хостинге запускаю скрипт(обращаюсь браузером), он работает некоторое время, потом отрубается. Как сделать так, чтобы скрипт работал постоянно. Может проблема в хостинге?
А в каком он у тебя виде?
В апаче, самостоятельно, в виде демона?
А не тогда он отваливается, когда ты отключаешься от консоли?
Рекоменду посмотреть на исходники neutron бота или даже использовать его в качестве базы для написания нужной фунциональности в виде плагина.
На хостинге запускаю скрипт(обращаюсь браузером), он работает некоторое время, потом отрубается.
Все тепер работает. Это хостинг тормозил.
Использую библиотеку xmpp(http://xmpppy.sourceforge.net/). И бота делаю на основе примера с использованием этой библиотеки(http://xmpppy.sourceforge.net/examples/bot.py). Нужно добавить возможность получения кода страницы. Для этого использую httplib2. Создал функцию:
def hook4Handler(user,command,args,mess):
	h = httplib2.Http(".cache")
		resp, content = h.request(args)
	return "HOOK4",content
Когда обращаюсь к боту: hook4 http://www.gentoo.org/ , он вылетает. Пишет какие-то ошибки. Не знаю как их скопировать из cmd в windows.

Last edited Feb. 19, 2008, 11:55 p.m.

atrides
Когда обращаюсь к боту: hook4 http://www.gentoo.org/ , он вылетает. Пишет какие-то ошибки. Не знаю как их скопировать из cmd в windows.
Правой кнопкой мыши - будет меню. В нем выбрать - Пометить.
Выделить область, нажать enter и текст в буфере обмена. =)
Даже не зная этого, можно было замутить скриншот, например )
  <body>hook4 http://www.gentoo.org</body>
  </message>
DEBUG: dispatcher   ok    Got jabber:client/message stanza
DEBUG: dispatcher   ok    Dispatching message stanza with type->chat props->[u'jabber:client'] id->mir_8
DEBUG: socket       error Socket error while sending data
Traceback (most recent call last):
  File "D:\WINDOWS\python\Lib\site-packages\xmpp\transports.py", line 178, in send
    self._send(raw_data)
sslerror: (3, 'The operation did not complete (write)')
DEBUG: client       stop  Disconnect detected
DEBUG: socket       error Socket operation failed
Traceback (most recent call last):
  File "D:\WINDOWS\python\Lib\site-packages\xmpp\transports.py", line 178, in send
    self._send(raw_data)
sslerror: (3, 'The operation did not complete (write)')
Traceback (most recent call last):
  File "D:\examples\index.py", line 113, in <module>
    GoOn(conn)
  File "D:\examples\index.py", line 89, in GoOn
    while StepOn(conn): pass
  File "D:\examples\index.py", line 84, in StepOn
    conn.Process(1)
  File "D:\WINDOWS\python\Lib\site-packages\xmpp\dispatcher.py", line 302, in dispatch
    handler['func'](session,stanza)
  File "D:\examples\index.py", line 75, in messageCB
    if reply: conn.send(xmpp.Message(mess.getFrom(),reply))
  File "D:\WINDOWS\python\Lib\site-packages\xmpp\dispatcher.py", line 366, in send
    self._owner_send(stanza)
  File "D:\WINDOWS\python\Lib\site-packages\xmpp\transports.py", line 185, in send
    self._owner.disconnected()
  File "D:\WINDOWS\python\Lib\site-packages\xmpp\client.py", line 127, in disconnected
    for i in self.disconnect_handlers: i()
  File "D:\WINDOWS\python\Lib\site-packages\xmpp\client.py", line 135, in DisconnectHandler
    raise IOError('Disconnected from server.')
IOError: Disconnected from server.
А в каком он у тебя виде?
Это я запускаю скрипт интерпретатором.

Last edited Feb. 22, 2008, 12:05 a.m.

По трейсу видно - что происходит разрыв связи с сервером.
Причем это предусмотренная ситуация, так как внутри кода в связи с этим вызывается специальное исключение:
raise IOError('Disconnected from server.)

Его надо отловить и отреагировать =)

Last edited Feb. 22, 2008, 2:29 a.m.

Создал вебстраничку. Разместил на локальном сервере.
<html>
<head>Hello, World!</head>
<body> 
	Hello, World!
</body>
</html>
Обращаюсь к боту:
hook4 http://atrides/index.html
Он послушно мне высылает её код.
Если обращаюсь к какой-нибудь страничке из инета, то бот вылетает. :(((
Его надо отловить и отреагировать =)
Как?

Last edited Feb. 22, 2008, 8:39 p.m.