Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ukrywaj status przed nim
Konnekt | Forum > Developerzy > Tworzenie wtyczek
Mucha
1. Jak zrobic zeby kontaktowi o jakims id nie przekazywano naszego statusu (gg)?
2. Jak wyslac temu konkretnemu kontaktowi wiadomosc ze zmienilismy status na ndst? (bo rozumiem ze nawet jak na kims zaznaczymy opcje "ukrywaj status przed nim" to wymagane jest ponowne polaczenie z serwerem gg)
zimaq
ad2. Pewnie się nie da, ale co do drugiej części, można spokojnie tą opcje zmieniać bez ponownego łączenia sie z serwerem gadu.
Mucha
No tak, tylko ze jak np mamy status z/w to czy ta osoba dostanie info ze zmienilismy na ndst cz caly czas bedzie widziec z/w?
saCOOL
Już to pisałem gdzieś biggrin.gif.

Z tego co zaobserwowałem, nie trzeba się łączyć ponownie z serwerem, po aktywowaniu Ukryj Status Przed Nim. ( biggrin.gif Działa dynamicznie w czasie rzeczywistym biggrin.gif )
Mucha
Czyli pytanie nr 2 staje sie nieaktualne, pozostaje to kluczowe nr 1 wink.gif
saCOOL
Czy mógłby ktoś, posiadający odpowiednią wiedzę, odpowiedzieć? Prosimy, bo przeciekawa wtyczka się szykuje biggrin.gif.
KoSiarzPL
czy naszym statusem nie zarządza serwer gg? Według mnie tak to powinno działać. My wysyłamy do serwera gg że jesteśmy dostępni a on już powiadamia i odpowiada innym użytkownikom. Więc nie mamy wpływu na to kto dostanie nasz status, Jeśli sam protokół tego nie umożliwi.
Mucha
Tym zarzadza zarowno serwer jak i komunikator, komunikator wysyla liste naszych kontaktow na serwer, a serwer juz odpowiednio przekazuje informacje o statusie i opisie do tych osob (jak mamy zaznaczone "Tylko dla znajomych"). A ja chce sie dobrac po prostu do tej opcji w menu kontaktow "Ukryj status przed nim" ktora tym zarzadza.
saCOOL
Tu nawet nie chodzi o tworzenie nowych opcji, lecz korzystanie z już istniejących.
Wtyczka zaznaczałaby wszystkim kontaktom opcje Ukrywaj Status Przed Nim, oraz odznaczałaby ją w momencie otwarcia rozmowy (taki był pomysł, czy wykonanie jest realne?).
hao
Jeżeli chcesz korzystać z istniejącej funkcjonalności - po prostu zrób to i "kliknij" w "Ukryj status przed nim"...

Komunikatem IMI_ACTION_CALL możesz rozesłać dowolny komunikat o zdarzeniu dla dowolnej akcji.

Listę akcji (oprócz nagłówków) masz w Dev/Lista akcji (ukryj to IMIG_CNT , IMIA_GGHIDESTATUS).

Przykładowy kod używający IMI_ACTION_CALL chyba był kiedyś na forum, a jak nie, to na pewno ktoś takowy dostarczy wink.gif

Żeby sprawdzić czy już się przed kimś nie ukrywamy, trzeba zobaczyć, czy mamy flagę ST_HIDEMYSTATUS w jego statusie

CODE

(GETCNTI(cntId , CNT_STATUS) & ST_HIDEMYSTATUS) != 0


O ile pamiętam - piszesz w delphi (?), więc mogą być pewne rozbieżności smile.gif
Mucha
Dzieki, mam juz wszystko
Wywolanie akcji:
CODE
  akcja.act.id := IMIA_GGHIDESTATUS;
  akcja.act.parent := IMIG_CNT;
  akcja.act.cnt := petla;
  akcja.code := ACTN_ACTION;
  ICMessage(IMI_ACTION_CALL,Integer(@akcja));
Sprwadzenie czy przed kims ukrywamy status:
CODE
if (GETCNTI(petla , CNT_STATUS) and ST_HIDEMYSTATUS) <> 0 then
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-2012 Invision Power Services, Inc.