Знаете чем отличается 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 и не такое можно делать, это же не аська убогая. ;)



4 Responses to “Уведомления через Jabber (XMPP)”  

  1. Если все-таки кому-то нужно отправлять на 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.

  2. 2 Ugnich Anton

    Если все-таки кому-то нужно отправлять на ICQ, … есть вот такая библиотека:

    Учитывая регулярные новости о том, что AOL в очередной раз изменила протокол и альтернативные клиенты перестают работать, возможно лучше будет использовать какой-нибудь популярный гейт Jabber-ICQ. В этом случае забота об обновлении протокола ложится на плечи администратора этого гейта.

  3. есть такая радость: http://sendxmpp.platon.sk/
    правда пришлось учить её работать через проксю, ну да это мелочи :)

  4. 4 pa

    Да, действительно. Как сделать, что бы этот «десяток строк» смог через проксю из LAN пройти и залогиниться на allports.jabber.ru:443?


Leave a Reply