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://dev.null.pl/ekg/
DOWNLOAD
http://krzak.linux.net.pl/perl/Net-Gadu-1.5.tar.gz
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_NOT_AVAIL_DESCR $Net::Gadu::STATUS_AVAIL $Net::Gadu::STATUS_AVAIL_DESCR $Net::Gadu::STATUS_BUSY $Net::Gadu::STATUS_BUSY_DESCR $Net::Gadu::STATUS_INVISIBLE $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
$gg->login("0123456","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_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://krzak.linux.net.pl
LICENCE
Lesser General Public License
SEE ALSO
http://dev.null.pl/ekg/
http://www.gadu-gadu.pl
http://www.gnugadu.org
http://www.hakore.com
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 160:
Non-ASCII character seen before =encoding in 'protoko³u'. Assuming CP1252