Níže uvedený kousek kódu umožňuje odeslat zprávu nebo žádost o autorizaci (subscribe) prostřednictvím Jabber serveru. Využití to má hlavně při hlášení nějakých alert stavů serverů nebo automatizovanému posílání vtipů kolegům :-).
Aby to fungovalo, je nutné dostat do OS třídu Net::XMPP. To se dá učinit návodem popsaným v téměř každém seriálu o PERLu nebo, pakliže máte Debian Lenny, tak instalací balíku libnet-xmpp-perl.
Dokumentace na: http://search.cpan.org/dist/Net-XMPP/
Command line odesílátko sendxmpp: http://www.djcbsoftware.nl/code/sendxmpp/
#!/usr/bin/perl -w
use Net::XMPP;
$host="vasserver.cz";
$port="5222";
$tls=0;
$user="franta";
$pass="heslofranty";
$cnx = new Net::XMPP::Client(debuglevel=>(0?2:0));
if(!defined($cnx)) {
print "|-> chyba vytvareni objektu\n";
exit 0;
}
@res = $cnx->Connect(hostname=>$host,port=>$port,tls=>$tls);
if(!defined(@res)) {
print "|-> chyba spojeni\n";
exit 0;
}
@res=$cnx->AuthSend('hostname'=>$host,'username'=>$user,'password'=>$pass,'resource'=>"perl");
if($res[0] !~ m/ok/) {
print "|-> chyba autorizace\n";
exit 0;
}
# odeslani zadosti o autorizaci jabber uzivateli tucnak@vasserver.cz
####$rcpt='tucnak@vasserver.cz';
####$cnx->Subscription('type'=>"subscribe",'to'=>$rcpt);
# odeslani zpravy jabber uzivateli tucnak@vasserver.cz
$subject="";
$msg="Ahoj svete";
$rcpt='tucnak@vasserver.cz';
$cnx->MessageSend('to'=>$rcpt,'subject'=>$subject,'body'=>$msg);
sleep 1;
$cnx->Disconnect();