Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nowe phplibgadu?
Forum PHP.pl > Forum > PHP
fandos
Czesc,

Jest moze cos takiego jak nowe phplibgadu? W gg 8.0 sie troche protokol zmienil i teraz to wcale nie chodzi...
A moze jest ktos kto by byl w stanie przerobic phplibgadu, uzywajac ponizszych dwoch linkow?

http://toxygen.net/libgadu/protocol/#ch1

http://www.uw-team.org/forum/viewtopic.php?t=7392

Najwazniejsze jest dla mnie logowanie i wysylanie wiadomosci. Prosze mnie nie odsylac do tematu o tym jak zrobic bramke gadu-gadu, gdyz jest on rownie jak phplibgadu przestarzaly.

Nowosci w gg 8.0 (wyciagniete z ekg):

#define GG_LOGIN80 0x0031
#define GG_LOGIN80_OK 0x0035
#define GG_NEW_STATUS80 0x0038
#define GG_NOTIFY_REPLY80 0x37
#define GG_STATUS80 0x0036
#define GG_SEND_MSG80 0x002d
#define GG_RECV_MSG80 0x002e
#define GG_USERLIST_REQUEST80 0x002f
#define GG_USERLIST_REPLY80 0x0030

Probowalem samemu cos kombinowac, lecz bez znajomosci socketow nawet nie udalo mi sie zalogowac..
Kubofonista
Może troche offtopowo ale co byś powiedział na CLASS JABBER PHP do serwera z transportem GG? W miarę łatwo można to zrobić
fandos
Niestety odpada, gdyz do kazdego numeru gg bym musial tworzyc nwoe konto (o ile dobrze rozumiem dzialanie tego).

Narazie sam doszedlem do tego, lecz cos jest nie tak z fwrite (prawdopodobnie argument sizeof(0x0031)):

  1. <?php
  2. $numergg = 12345;
  3. $haslo = 'alamakota';
  4. $zomg = fsockopen('91.197.13.73', 8074, &$errorNumber, &$errorString, 5);
  5. if (!$oms = fread($zomg, 12))
  6. {
  7.    return false;
  8. }
  9. else
  10. {
  11.    $aData = unpack('Vtype/Vsize/Vkey', $oms);
  12.    fwrite($zomg, pack('VVVVVVVVVVVVVVVVVv', 0x0031, sizeof(0x0031), $numergg, "pl", 0x01, _loginHash($haslo, (int)$aData['key']),0x0002, 0,0x00000007,0,0,0,0,255, 0x64, "Gadu-Gadu Client build 8.0.0.7669", sizeof("Gadu-Gadu Client build 8.0.0.7669"), 0));
  13.    stream_set_blocking($zomg, 0);
  14.    
  15. }
  16. function _loginHash($password, $seed)
  17. {
  18.        
  19.            $y = $seed;
  20.            $x = 0;
  21.            
  22.            for ($nr = 0, $length = strlen($password); $nr < $length; $nr++) {
  23.                $x = ($x & 0xFFFFFF00) | ord($password[$nr]);
  24.                $y ^= $x;
  25.                $y += $x;
  26.                $x <<= 8;
  27.                $y ^= $x;
  28.                $x <<= 8;
  29.                $y -= $x;
  30.                $x <<= 8;
  31.                $y ^= $x;
  32.                
  33.                $z = $y & 0x1F;
  34.                $y1 = ($y << $z);
  35.                if ($z < 32) {
  36.                  $y2 = $y >> 1;
  37.                  $y2 &= 0x7FFFFFFF;
  38.                  $y2 = $y2 >> (31 - $z);
  39.                }
  40.                $y = $y1 | $y2;
  41.            }
  42.            return $y;
  43. }
  44.  
  45. ?>


Bazowalem to na funkcji connect($uid, $password, $status = GG_STATUS_AVAILABLE) z phplibgadu.
Kubofonista
Cytat(fandos @ 16.05.2009, 17:37:26 ) *
Niestety odpada, gdyz do kazdego numeru gg bym musial tworzyc nwoe konto (o ile dobrze rozumiem dzialanie tego).

Nie musiałbyś. Zakładasz jedno konto jabbera i konfigurujesz tam transport GG. Potem wysyłasz wiadomości na jida: numerGG@serwer.transportu winksmiley.jpg
fandos
Raczej chodzilo mi o to, ze jakbym chcial wysylac wiadomosci z 10 albo 20 roznych numerow, to bym musial 10-20 razykonfigurowac transport GG.
Kubofonista
Cytat(fandos @ 16.05.2009, 17:59:25 ) *
Raczej chodzilo mi o to, ze jakbym chcial wysylac wiadomosci z 10 albo 20 roznych numerow, to bym musial 10-20 razykonfigurowac transport GG.

Uuu, nieładnie tak SPAMBota pisać x)
abdiel
A jakie są szanse, żeby otrzymać tutoriala jak bota gg po jabbera zrobić?
erix
Cytat
ze jakbym chcial wysylac wiadomosci z 10 albo 20 roznych numerow

Spamujesz? Zamykam.

Cytat
A jakie są szanse

Szanse zawsze są. Ale trzeba najpierw poszukać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.