Уведомления через Jabber (XMPP)
Знаете чем отличается ICQ от Jabber (XMPP)?! Аська — это проприетарное говно со смайликами, а XMPP — это протокол. Подождите, не бейте меня, я могу всё объяснить!
Допустим, продаете вы софт через инет и хотите получать уведомление о каждой продаже. Обычно это делается с помощью e-mail, но мне этот способ не очень нравится: надо держать запущенным почтовый клиент (или открытой вкладку в браузере). В то же время, постоянно включен IM-мессенджер. Может быть, лучше отсылать уведомления на него?!
Попробуйте научить свои скрипты пользоваться аськой и много-много геморроя вам гарантировано. С Jabber эта задача решается в десяток строк очень простого кода:
#!/usr/bin/perl use Net::XMPP; my $c=new Net::XMPP::Client(); $c->Connect(hostname=>"jabber.zp.ua"); $c->AuthSend( username=>"ugnich", password=>"megapassword", resource=>"Perl"); my $m=new Net::XMPP::Message(); $m->SetMessage( to=>"ugnich\@jabber.zp.ua", from=>"ugnich\@jabber.zp.ua", body=>"Уведомление о продаже"); $c->Send($m); $c->Disconnect();
Сохраните этот код в отдельный файл, сделайте его исполняемым и запускайте из любых своих скриптов.
Если захотите использовать аккаунт Google Talk, скрипт прийдется немного усовершенствовать из-за того, что GTalk использует обязательное шифрование. Подробности: Google Talk with Perl.
З.Ы. Да, это нормально, что сообщение отсылается от себя самому себе. В Jabber и не такое можно делать, это же не аська убогая.
Filed under: Технологии | 4 Comments
Tags: jabber, xmpp

Если все-таки кому-то нужно отправлять на ICQ, и годится решение на C++, есть вот такая библиотека:
http://icqkid2.sourceforge.net/
ICQKID2 is crossplatform library which presents basic methods for using OSCAR protocol. It’s easy to build your own icq-bot or icq-client with this library.
Учитывая регулярные новости о том, что AOL в очередной раз изменила протокол и альтернативные клиенты перестают работать, возможно лучше будет использовать какой-нибудь популярный гейт Jabber-ICQ. В этом случае забота об обновлении протокола ложится на плечи администратора этого гейта.
есть такая радость: http://sendxmpp.platon.sk/
правда пришлось учить её работать через проксю, ну да это мелочи
Да, действительно. Как сделать, что бы этот «десяток строк» смог через проксю из LAN пройти и залогиниться на allports.jabber.ru:443?