Jak programowo sprawdzić status GG

0

Witam wszystkich.
Pisząc pewien program natrafiłem na problem: jak można sprawdzić status danego użytkownika GG ?

Szczególnie chodzi mi o rozróżnienie czy jest niewidoczny czy niedostępny.
Załóżmy że dysponuje hasłem tego użytkownika.
Czytałem o protokole GG ale nie udało mi się w nim znaleźć czegoś co mogłoby mi pomóc.

Proszę o pomoc albo jakieś wskazówki.

0

Ogólnie zainteresuj się adresem http://status.gadu-gadu.pl/users/status.asp?id=NumerGG&styl=1

Jak wyciągnąć status? np. pobierz z pliku kilka bajtów :> i odczytaj wartość:

1 - niedostępny
2 - dostępny
3 - zaraz wracam

0

No jest w opisie protokołu :
http://ekg.chmurka.net/docs/protocol.html

0
Coldpeer napisał(a)

Ogólnie zainteresuj się adresem http://status.gadu-gadu.pl/users/status.asp?id=NumerGG&styl=1

Jak wyciągnąć status? np. pobierz z pliku kilka bajtów :> i odczytaj wartość:

1 - niedostępny
2 - dostępny
3 - zaraz wracam

Tyle to akurat umiem, tylko że chciałem sprawdzić także niewidoczność a ten sposób nie daje tej możliwości...

dzejo napisał(a)

No jest w opisie protokołu :
http://ekg.chmurka.net/docs/protocol.html

Na pewno jest?
Czytałem to już wcześniej i ciągle nie wiem jak posiadając dany nr GG i jego hasło sprawdzić dokładny status ( nie ustawić, tylko sprawdzić, ale tak żeby wykryć niewidoczność )

Mimo wszystko dzięki za chęci i zainteresowanie...

0

jakby się dało sprawdzić to by troche bez sensu było
możesz sprawdzić czy osoba ma status tylko dla znajomych o ile ta osoba będzie cię miała na liście kontaktów
druga opcja, że pobierając statusy z listy kontaktów zazwyczaj osoby które są - mają ustawione IP i po tym najczęściej się poznaje, ale to też nie jest pewne - sprawdza się tylko w jakichś 60%

jeśli dysponujesz hasłem to możesz dodać mu się na wyeksportowaną listę kontaktów, ale to musi być przed sprawdzeniem statusu - bo po pierwsze żeby to zrobić to trzeba się zalogować czyli zmienić status, a po drugie osoba której to jest numer zostanie wywalona (aktywne jest tylko ostatnie połączenie na dany numer)

0

z tego co ja sie orientuje - ale moge miec stare dane - to jedyny sposob zeby odkryc ze ktos jest niewidoczny a nie niedostepny to... wyslac mu wiadomosc i dostac odpowiedz. powodem tego jest to, ze statusy te sa nie odroznialne, i jedyna roznica jest w zachowaniu serwera - jak jest niedostepny to wiadomosci przychodzace sa cacheowane, a jak jest niewidoczny - odsylane do odbiorcy. dla obserwatora zewnetrzengo nie ma roznicy - wysylasz wiadomosc, ona 'wpada' i tyle. dopiero jak dostaniesz odpowiedz to masz pewnosc ze jednak jest online.. zamiast wysylac i czekac na odpowiedz uzytkownika mozna np. sprobowac nawiazac rozmowe glosowa albo wyslac plik - wtedy automatycznie zglosi sie aplikacja po drugiej stronie, bez akcji ze strony uzytkownika. ale tutaj sa ograniczenia w stylu ze musisz byc w kontaktach tej osoby itp.. wiecej nie wiem, nie badalem nigdy tego tematu jakos tak dokladniej

0

Trochę źle mnie zrozumieliście.
Nie zamierzam wykrywać kto jest niewidoczny, tylko pisze taki program, który musi sprawdzać czy na kompie, na którym zostanie on uruchomiony jest aktualnie ktoś na gadu.
Założeniem programu jest możliwość tworzenia pewnych grup osób ( gdzie każda grupa będzie miała admina) które będą mogły sprawdzić, kto z nich akurat jest na gadu, a kto nie (tylko w obrębie grupy do której dana osoba przynależy ).
Klient ( w c++) uruchomiony na kompie kazdej z osób, monitoruje stan gg i jeśli osoba jest dost./zw/niewid. to wysyła na serwer ( php) metodą POST informację. Wysyła ją co ok. 30 sekund sprawdzając wcześniej czy osoba nie wyłączyła gg ( czyli status niedost.) i dostaje z serwera informacje o innych osobach w postaci ciągu
nrGG:1|innynrGG:0|
gdzie 1 znaczy że osoba jest a 0, że nie ma.

Zaciąłem się właśnie w momencie sprawdzania statusu osoby na kompie. Bardzo istotne jest żeby wykryć niewidoczność, bo bez tego program traci sens i nie ma sensu go dalej pisać.

Próbowałem oczywiście znaleźć w opisach protokołu GG czegoś co mi może pomóc ale nie znalazłem. Żeby się zalogować trzeba wysłać do serwera GG informacje jaki status wybieram. a ja nie chcę go zmieniać, tylko wykryć.

0

no to twój program może pracować na zasadzie sniffera i jeśli wykryje że program wysyła pakiet o zmianie statusu to go przechwycić i wysłać odpowiednią informację na serwer

mówiłeś że dysponujemy hasłem tej osoby, nie powiedziałeś że dysponujemy całym jej komputerem a to jest całkiem różna sprawa

0

No to przepraszam za tą nieścisłość.

A nie ma innego sposobu oprócz tego przechwytywania pakietów?

W każdym razie wielki dzięki dla Adamo za radę. Spróbuję tak zrobić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1