Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak usunac wiadomosc?
Konnekt | Forum > Developerzy > Tworzenie wtyczek
Mucha
Chce zeby wiadomosc wogole nie wyswietlila sie w oknie rozmowy, robie tak:
CODE
IM_PLUG_TYPE: ret := IMT_ALLMESSAGES;
...
IM_MSG_RCV: ret := IM_msg_delete;

nie dziala, probowalem tez
CODE
IM_MSG_RCV: ret := IM_msg_ok;
IM_MSG_OPEN: ret := IM_msg_delete;
takze nie dziala
No dobra, moze byc nawet jakis przyklad z C smile.gif
bulanh
ustaw wiadomości falgę: MF_HIDE|MF_DONTADDTOHISTORY
Mucha
Nie dziala
hao
A w którym miejscu chcesz to spowodować? Przy wysyłaniu, czy odbieraniu?
Mucha
Przy odbieraniu
bulanh
Odświeżę trochę temat, bo mam ten sam problem. Przy odbiorze wiadomości korzystam z takiego kodu:

CODE

    if ( msg->flag & C_MF_PARSED )
        return 0;

    string body = msg->body;

    // Przetwarzanie zmiennej "body"

    cMessage m;
    memset(&m, 0, sizeof(cMessage));
    m.flag = msg->flag | MF_HTML | C_MF_PARSED;
    m.type = MT_MESSAGE;
    m.toUid = msg->toUid;
    m.fromUid = msg->fromUid;
    m.net = msg->net;
    m.body = (char*)TStringPooler::newString(body);
    m.ext = "";
    sMESSAGESELECT ms;
    ms.id = ICMessage(IMC_NEWMESSAGE, (int)&m);
    if ( ms.id )
        ICMessage(IMC_MESSAGEQUEUE, (int)&ms);

    msg->flag |= MF_HIDE | MF_DONTADDTOHISTORY;
    return IM_MSG_delete;


Jednak mimo wszystko stara wiadomość jest wyświetlana w oknie wiadomości (najpierw jest nowa, a później ta, która powinna zostać usunięta). Jest jakaś rada na to?
Aule
Łatwiej jest po prostu ustawić flagę MF_OPENED i zwrócić IM_MSG_delete . Tak to jest robione w Olew.ce.
Hym, nie wiem, czemu nie zauważyłem tego tematu wcześniej.
bulanh
Działa. Dzięki.
m-a-x
Faktycznie sposób działa jednak występuje pewien problem jeśli używamy wtyczki tabletKa, a mianowicie wiadomość się nie wyświetla w oknie rozmowy jednak okienko rozmowy miga (sygnalizując nadejscie jakiejś wiadomosci) jak i miga ikonka wiadomosci przy danym nicku... (od którego taka wiadomość została dostarczona).

Mam nadzieję że jasno się wyraziłem. Jest jakis sposób aby temu zaradzić? Tak żeby odpowiednie wiadomości nie były w ogole zauważalne dla uzytkownika.

PS
Zauważyłem że taki efekt występuje tylko i wyłącznie gdy oprócz mojej wtyczki (która ma obsługiwac i ukrywać (przed uzytkownikiem) daną wiadomość) jest też aktywna tabletKa.
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.