Autor Wątek: Automatyczna odpowiedź  (Przeczytany 1558 razy)

0 Użytkowników i 1 Gość przegląda ten wątek.

Offline crsunik

  • Narybek
  • *
Automatyczna odpowiedź
« dnia: Listopad 28, 2011, 23:46:25 pm »
Witam. Zastanawiam się jak zrealizować wtyczkę automatycznie wysyłającą wiadomość do kontaktu, który przesłał nam wiadomość? Domyślam się, że najlepiej będzie zarejestrować hooka do eventu protokołu:

wtw->evHook(WTW_ON_PROTOCOL_EVENT, Manager::AutoResponse, (void*)this);

Następnie w przekazanej metodzie sprawdzić jaki dokładnie event wywołał naszą metodę:

	wtwProtocolEvent *proto = (wtwProtocolEvent *) wP;
if(proto->event != WTW_PEV_MESSAGE_RECV)

Moje pytanie jest takie: Jak odesłać nadawcy przesłaną przez niego wiadomość? Przeglądając to forum znalazłem sposób na ukrycie i zmianę treści wiadomości, które przyszły do nas, ale nie mogę dojść jak odpowiedzieć jakąś wiadomością kontaktowi, który do nas napisał. Czy mógłby ktoś z tym pomóc?

Offline mucha

  • Senior Developer
  • Młodzież
  • *
Odp: Automatyczna odpowiedź
« Odpowiedź #1 dnia: Grudzień 02, 2011, 17:08:43 pm »
Obrazek wysyła się tak:
int sendImage(wchar_t *path, wtwContactDef &contact)
{
wchar_t fn[512] = {0};
wtwPicture pict;
pict.contactData = contact;
pict.fullFilePath = path;
wsprintf(fn, L"%s/%d/%s", contact.netClass, contact.netId, WTW_PF_SEND_PICT);
return static_cast<int>(wtw->fnCall(fn, reinterpret_cast<WTW_PARAM>(&pict), NULL));
}
Strzelam, że wiadomość analogicznie za pomocą WTW_PF_WTW_SEND_MESSAGE WTW_PF_MESSAGE_SEND + wtwMessageDef.
« Ostatnia zmiana: Grudzień 02, 2011, 18:26:20 pm wysłana przez mucha »

Offline adrian_007

  • Master Developer
  • Starszyzna
  • *
    • WTW PLUGINS
Odp: Automatyczna odpowiedź
« Odpowiedź #2 dnia: Grudzień 02, 2011, 18:15:05 pm »
        wtwMessageDef lMsg;
        lMsg.msgMessage = L"wiadomosc";
        lMsg.msgTime = time(0);
        lMsg.contactData.id = L"12345";
        lMsg.contactData.netClass = L"GG";
        lMsg.contactData.netId = 1;
   
        wchar_t buf[1024] = { 0 };
        wsprintf(buf, L"%s/%d/%s", lMsg.contactData.netClass, lMsg.contactData.netId, WTW_PF_MESSAGE_SEND);
   
        lMsg.msgFlags = WTW_MESSAGE_FLAG_CHAT_MSG | WTW_MESSAGE_FLAG_OUTGOING;
        if(!wtw->fnCall(buf, lMsg, 0))
        {
            wtw->fnCall(WTW_CHATWND_SHOW_MESSAGE, lMsg, 0);
        }

Offline crsunik

  • Narybek
  • *
Odp: Automatyczna odpowiedź
« Odpowiedź #3 dnia: Grudzień 10, 2011, 14:44:39 pm »
Dzięki za odpowiedź.