Jak wiadomo z protokołu gg:
Serwer po otrzymaniu wiadomości odsyła potwierdzenie, które przy okazji mówi nam, czy wiadomość dotarła do odbiorcy czy została zakolejkowana z powodu nieobecności. Otrzymujemy je w postaci pakietu:#define GG_SEND_MSG_ACK 0x0005
struct gg_send_msg_ack {
int status; /* stan wiadomości /
int recipient; / numer odbiorcy /
int seq; / numer sekwencyjny */
};Numer sekwencyjny i numer adresata są takie same jak podczas wysyłania, a stan wiadomości może być jednym z następujących:
GG_ACK_BLOCKED 0x0001 //Wiadomości nie przesłano (zdarza się przy wiadomościach zawierających adresy internetowe blokowanych przez serwer GG gdy odbiorca nie ma nas na liście)
GG_ACK_DELIVERED 0x0002 //Wiadomość dostarczono
GG_ACK_QUEUED 0x0003 //Wiadomość zakolejkowano
GG_ACK_MBOXFULL 0x0004 //Wiadomości nie dostarczono. Skrzynka odbiorcza na serwerze jest pełna (20 wiadomości maks). Występuje tylko w trybie offline
GG_ACK_NOT_DELIVERED 0x0006 //Wiadomości nie dostarczono. Odpowiedź ta występuje tylko w przypadku wiadomości klasy GG_CLASS_CTCP
Jak zrobić aby po wysłaniu wiadomości poprzez GGLite sprawdzić czy wiadomość dotarła do osoby czy jest zakolejkowana??
Coś takiego
[Wysyla wiadomosc]
If [Wiadomosc dotarla] then
[Procedura]
else
[Procedura]...