NAME
Net::Gadu - Interfejs do biblioteki libgadu.so dla protoko³u Gadu-Gadu
DESCRIPTION
Wykorzystuje bibliotekê libgadu.so która jest czesci± projektu EKG. Aby zaintalowaæ libgadu.so nale¿y skompilowaæ EKG z opcj± --with-shared. Je¶li u¿ywasz EKG z pakietu prawdopodobnie biblioteka ta zosta³a zainstalowana. Szczegó³owe informacje znajdziesz na stronie projektu EKG - http://ekg.chmurka.net/ Do zbudowania pakietu potrzeba jest zainstalowana biblioteka z prefixem /usr lub /usr/local , jesli lokalizacja jest niestandardowa mozna wyedytowac plik Makefile.PL podajac wlasciwe lokalizacje
DOWNLOAD
http://www.cpan.org/modules/by-module/Net/Net-Gadu-1.7.tar.gz
SUBVERSION
$ svn co http://svn.hakore.com/netgadu/trunk
METHODS
Dostepne metody :
- $gg = new Net::Gadu()
-
opcjonalny parametr : server => "11.11.11.11" (ip alternatywnego serwera) async => 1 lub 0 (komunikacja asynchroniczna lub nie) - $gg->login(uin, password);
-
Po³±czenie z serwerem oraz logowanie do serwera.
- $gg->logoff();
-
Wylogowanie z serwera i zakoñczenie sesji.
- $gg->send_message(receiver_uin, message);
-
Wysy³a wiadomo¶æ pod wskazany numer UIN.
- $gg->send_message_chat(receiver_uin, message);
-
Wysy³a wiadomo¶æ pod wskazany numer UIN.
- $gg->set_available();
-
Ustawia status na dostepny. Podobne funkcje : set_busy(), set_invisible(), set_not_available(), change_status().
- $gg->change_status();
-
Zmiana statusu mo¿liwa na jeden z:
$Net::Gadu::STATUS_NOT_AVAIL $Net::Gadu::STATUS_AVAIL $Net::Gadu::STATUS_BUSY $Net::Gadu::STATUS_INVISIBLE - $gg->change_status_descr();
-
Zmiana statusu z opisem, mo¿liwa na jeden z:
$Net::Gadu::STATUS_NOT_AVAIL_DESCR $Net::Gadu::STATUS_AVAIL_DESCR $Net::Gadu::STATUS_BUSY_DESCR $Net::Gadu::STATUS_INVISIBLE_DESCR - $gg->search($uin,$nickname,$first_name,$last_name,$city,$gender,$active)
-
Wyszukiwanie, jesli parametr ma warto¶æ "", czyli pust± wtedy to pole nie jest brane pod uwagê podczas wyszukiwania. Zwracana jest tablica ze szczego³owymi informacjami. Odpowied¼ nale¿y odebraæ po otrzymaniu zdarzenia $Net::Gadu::EVENT_SEARCH_REPLY. Przyk³adowe u¿ycie oraz wynik znajduj± siê w przyk³adowym programie "ex/ex1" dostarczanym wraz ze ¼ród³ami. Uwaga: $gender = "male" lub "female" lub "none") $active = 1 lub 0 - $gg->check_event()
-
Sprawdza czy zasz³o jakie¶ zdarzenie (szczegolnie istotne przydatne przy po³aczeniu asynchronicznym) - $gg->get_event()
-
Zwraca informacje o zdarzeniu które mia³o miejsce, zwracany jest hasz np : $e = $gg_event(); $e->{type} zawiera kod ostatniego zdarzenia $Net::Gadu::EVENT_MSG $e->{message} # tresc wiadomosci $e->{sender} # uin wysylajacego $e->{msgclass} # typ wiadomosci $Net::Gadu::EVENT_ACK # potwierdzenie wyslania wiadomosci $e->{recipient} $e->{status} $e->{seq} $Net::Gadu::EVENT_STATUS # zmiana statusu $e->{uin} $e->{status} $e->{descr} $Net::Gadu::EVENT_SEARCH_REPLY $e->{results} Dostepne kody zdarzen : $Net::Gadu::EVENT_NONE $Net::Gadu::EVENT_MSG $Net::Gadu::EVENT_NOTIFY $Net::Gadu::EVENT_NOTIFY_DESCR $Net::Gadu::EVENT_STATUS $Net::Gadu::EVENT_ACK $Net::Gadu::EVENT_PONG $Net::Gadu::EVENT_CONN_FAILED $Net::Gadu::EVENT_CONN_SUCCESS $Net::Gadu::EVENT_DISCONNECT $Net::Gadu::EVENT_SEARCH_REPLY
EXAMPLES
#!/usr/bin/perl
use Net::Gadu;
use Data::Dumper;
my $gg = new Net::Gadu(async=>1);
## LOGIN
my $ret = $gg->login("0123456","password") or die "Login error\n";
if (!$ret) {
print "Login error\n";
return;
}
## EVENTS(this example, after successful login change status, send message and logout
while (1) {
while ($gg->check_event() == 1) {
my $e = $gg->get_event();
my $type = $e->{type};
if ($type == $Net::Gadu::EVENT_CONN_FAILED) {
die "Connection failed";
}
if ($type == $Net::Gadu::EVENT_CONN_SUCCESS) {
$gg->set_available();
# Send THANKS to author
$gg->send_message_chat("42112","dziekuje za Net::Gadu");
# SEARCH INIT
$gg->search("","krzak","","","","male",0);
}
if ($type == $Net::Gadu::EVENT_MSG) {
print $e->{message}." ".$e->{sender}."\n";
}
if ($type == $Net::Gadu::EVENT_SEARCH_REPLY) {
# SEARCH RESULT
print Dumper($e->{results});
$gg->logoff();
exit(1);
}
if ($type == $Net::Gadu::EVENT_ACK) {
}
}
}
AUTHOR
Marcin Krzy¿anowski, http://www.hakore.com/
LICENCE
Lesser General Public License
SEE ALSO
http://www.gadu-gadu.pl/
http://ekg.chmurka.net/
http://www.gnugadu.org/
http://www.hakore.com/
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 166:
Non-ASCII character seen before =encoding in 'protoko³u'. Assuming CP1252