Rechercher une page de manuel
Net::Gadu.3pm
Langue: en
Version: 2007-04-22 (mandriva - 01/05/08)
Section: 3 (Bibliothèques de fonctions)
NAME
Net::Gadu - Interfejs do biblioteki libgadu.so dla protokoXu Gadu-GaduDESCRIPTION
Wykorzystuje biblioteke libgadu.so ktora jest czescia projektu EKG. Aby zaintalowac libgadu.so nalezy skompilowac EKG z opcja --with-shared. Jesli uzywasz EKG z pakietu prawdopodobnie biblioteka ta zostala zainstalowana. Szczegolowe 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 lokalizacjeDOWNLOAD
http://www.cpan.org/modules/by-module/Net/Net-Gadu-1.8.tar.gzSUBVERSION
$ svn co http://svn.hakore.com/netgadu/trunkMETHODS
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);
- Polaczenie z serwerem oraz logowanie do serwera.
- $gg->logoff();
- Wylogowanie z serwera i zakonczenie sesji.
- $gg->send_message(receiver_uin, message);
- Wysyla wiadomosc pod wskazany numer UIN.
- $gg->send_message_chat(receiver_uin, message);
- Wysyla wiadomosc pod wskazany numer UIN.
- $gg->set_available();
- Ustawia status na dostepny. Podobne funkcje : set_busy(), set_invisible(), set_not_available(), change_status().
- $gg->add_notify()
- MoA°Xesz uA°Xyc tej funkcji w celu poinformowania serwera, A°Xe chcesz znaA.X status danej osoby i czekaA.X na zdarzenia zwiazane ze zmiana statusu. Zaczynaja dochodzic zdarzenia EVENT_NOTIFY,EVENT_NOTIFY60 gdy ktos sie pojawi oraz EVENT_STATUS,EVENT_STATUS60 gdy ktos zmieni status (patrz opis get_event())
- $gg->remove_notify()
- MoA°Xesz uA°Xyc tej funkcji w celu poinformowania serwera, A°Xe nie chcesz otrzymywac zdarzen zwiazanych ze zmiana statusu od tej osoby.
- $gg->change_status();
- Zmiana statusu mozliwa 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, mozliwa 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 wartoXae "", czyli pustX wtedy to pole nie jest brane pod uwage podczas wyszukiwania. Zwracana jest tablica ze szczegoXowymi informacjami. OdpowiedX naleXy odebraae po otrzymaniu zdarzenia $Net::Gadu::EVENT_SEARCH_REPLY. PrzykXadowe uXycie oraz wynik znajdujX sie w przykXadowym programie "ex/ex1" dostarczanym wraz ze XrodXami. Uwaga: $gender = "male" lub "female" lub "none") $active = 1 lub 0
- $gg->check_event()
-
Sprawdza czy zaszlo jakies zdarzenie (szczegolnie istotne przydatne przy polaczeniu asynchronicznym)
- $gg->get_event()
-
Zwraca informacje o zdarzeniu ktore mialo 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 (wersja klienta Gadu-Gadu < 6.0) $e->{uin} $e->{status} $e->{descr} $Net::Gadu::EVENT_STATUS60 # zmiana statusu (wersja klienta Gadu-Gadu >= 6.0) $e->{uin} $e->{status} $e->{descr} $Net::Gadu::EVENT_NOTIFY # informacja o pojawieniu sie kogos (wersja klienta Gadu-Gadu < 6.0) $e->{uin} $e->{status} $Net::Gadu::EVENT_NOTIFY_DESCR # informajca o pojawieniu sie kogos, z opisem (wersja klienta Gadu-Gadu < 6.0) $e->{uin} $e->{status} $e->{descr} $Net::Gadu::EVENT_NOTIFY60 # informacja o pojawieniu sie kogos (wersja klienta Gadu-Gadu >= 6.0) $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_NOTIFY60 $Net::Gadu::EVENT_STATUS $Net::Gadu::EVENT_STATUS60 $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 $gg->login(``1234567'',``password'') or die ``Login error\n'';
## 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_NOTIFY60) { print "EVENT_NOTIFY60 from ".$e->{uin}."\n" ; } if ($type == $Net::Gadu::EVENT_STATUS60) { print "EVENT_STATUS60 from ".$e->{uin}.", status ".$e->{status}."\n" ; } if ($type == $Net::Gadu::EVENT_DISCONNECT) { die "disconnect"; } if ($type == $Net::Gadu::EVENT_CONN_SUCCESS) { $gg->set_available(); # notify server that you want to receive status notifications $gg->add_notify("42112"); # 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 KrzyXanowski, http://www.hakore.com/LICENCE
Lesser General Public LicenseSEE ALSO
http://www.gadu-gadu.pl/ http://ekg.chmurka.net/ http://www.gnugadu.org/ http://www.hakore.com/
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre