Pull to refresh

Comments 31

drunken, ты надо мной издеаешься :))
я как раз пытаюсь сделать нечто подобное на жабе, и нихера не выходит
UFO just landed and posted this here
Для явы есть библиотека smack
на жабе — это, имхо, уже слишком :)
попробуй дотнет (sarcasm)
так проще:
$ echo "hello" | sendxmpp kto-to@jabber.ru
только для того чтобы работал к примеру с openfire сервером, приходится патчить sendxmpp :)
А вот написание бота на той же либе xmpp выливается в долгий процесс разбирательства с тредами в питоне. Особенно при работе с сервером OpenFire.
да, верно, но актуальны ли такие задачи для сисадмина? :)
Я сисадмин, и для меня было актуально. В частности, я парсил мониторинг скриптом и отсылал уведомления об изменениях выдачи в Jabber.
еще бы вы статью на эту тему написали ;)
Да что там писать – на сервере перловая копипаста вынимала из мускуля и отдавала по HTTP список тикетов плейнтекстом, а на прокси питоновая копипаста брала этот список, сравнивала с предыдущим и выполняла нехитрые действия.
Задача решилась за пару ночей при нулевых знаниях как питона, так и перла.
какая разница какой сервер на той стороне? или у него какой-то особенный xmpp?
Тоже пользуюсь xmpp из питона. Приходится вручную включать таймаут операций с сокетами, чтобы при проблемах с сервером скрипт не подвисал:

import socket
socket.setdefaulttimeout(5) # seconds
это актуально для 2.5
в 2.6 можно указывать конкретно для соединения
Еще в 2.3 можно было. Вот только xmpppy эту возможность игнорирует, похоже.
Что именно не так? Я писал на нём ботов и гейты, вполне себе юзабельно. API сложный, да, но так и сам по себе XMPP не простой.
Не соглашусь с вами. В конечном итоге жабер лучше, чем альтернатива icq. При большом количестве исходящих сообщений аську часто блокируют. Да и вспоминая вечные изменения протоколов миралабсы…
Есть twisted.words. Помимо собственно виновника торжества, поддерживает достаточно большое количество разных протоколов. Я на нем делал бота-кросспостера между IRC и XMPP комнатами.
я недавно для нотификации с сервера заюзал твиттер с приватной областью видимости. тоже прикольно получилось.
пишите хабратопик, оценим ;)
code.google.com/p/twitcurl/
собственно всё, три минуты для подключения в любой проект.
и ещё 2 минуты — для заведения отдельного аккаунта на твиттере.
да я и не претендовал на эксклюзивность решения, у каждой задачи есть несколько путей решения, и этот — один из них. кто-то поблагодарит и пополнит свою коллекцию скриптов, а кто-то пройдет мимо.
любопытно — а почему XMPP/ICQ/etc более надежный транспорт чем e-mail?
я всю жизнь считал что наоборот. Письмо и на телефон прийдёт, и на десктоп или ещё куда.
А IM легко потеряться.
он не более надёжный, он более оперативный.
IM-ы чаще настроены выскакивать, нежели письма.
И открываются, как правило, в более компактном интерфейсе.
На сайте xmpppy есть пример, который делает абсолютно то же самое. Зачем свой писали, могли бы просто скопировать от туда или вообще пост-ссылку сделать (сарказм, если что).
Первая мысль после прочтения статьи: «Надо бы куда-то и себе это прикрутить» =)
А обработку входящих сообщений можно как-нибудь настроить? Ткните в ман, если можно. Сделать такое извращенное удаленное управление, с ограниченным набором команд…
Если вам не приходят месседжи в Google Hangouts, попробуйте параметр typ='chat':
client.send(xmpp.protocol.Message(to,msg,typ='chat'))
Sign up to leave a comment.

Articles