Skocz do zawartości


Zdjęcie

Opis funkcji z SDK do czatów


  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 arni077

arni077

    Początkujący

  • Użytkownik
  • 46 postów

Napisano 2009.12.31, 17:42

Na prośbę rysi3k daję opis do funkcji z SDK.

Aby otworzyć czat wypełniasz strukturę TPluginChatOpen:(opisałem wszystko co wiem ;P)
typedef struct TPluginChatOpen
{
 int cbSize;
 wchar_t* JID; //JID Chatrooma
 int UserIdx;  
 wchar_t* Channel; //Nazwa Chatrooma
 wchar_t* Nick; 
 bool NewWindow; // nowe okno jak nazwa wskazuje ;p
 bool IsNewMsg; 
 bool Priority; 
 wchar_t* OriginJID;
 int ImageIndex; 
 bool AutoAccept; //wartość 0 jeśli chcemy akceptacji, 1 jeśli nie chcemy
} TPluginChatOpen;
typedef
 TPluginChatOpen *PPluginChatOpen;
I wysyłasz ją do AQQ
PluginLink.CallService(AQQ_SYSTEM_CHAT_OPEN, 0, DWORD(@ChatOpen));

Aby dodać lub usunąć kontakt z listy korzystasz z TPluginChatPresence
typedef struct TPluginChatPresence
{
 int cbSize;
 int UserIdx;
 wchar_t* JID; //podajesz jid kanału i jid kontaktu w taki sposób "#haxite@kanal/arni077@kontakt"
 wchar_t* RealJID; //prawdziwy jid kontaktu
 wchar_t* Affiliation;   //AFFILIATION_ADMIN   = "admin";
                            //AFFILIATION_OUTCAST = "outcast";
                            //AFFILIATION_MEMBER  = "member";
                            //AFFILIATION_OWNER   = "owner";
                            //AFFILIATION_NONE    = "none";
 wchar_t* Role;          //ROLE_VISITOR = "visitor";
                            //ROLE_MODERATOR = "moderator";
                            //ROLE_PARTICIPANT = "participant";
                            //ROLE_OBSERVER = "none";
 bool Offline;    //podajemy czy kontakt ma zostać dodany czy usunięty z listy
 wchar_t* Nick;  //wyświetlany nick kontaktu
 bool Kicked;    //wykopany z kanalu
 bool Banned;    //zbanowany na kanale
 wchar_t* Ver;
 wchar_t* JIDToShow; //wyświetlany jid kontaktu
} TPluginChatPresence;
typedef
 TPluginChatPresence *PPluginChatPresence;
I oczywiście wysyłasz:
PluginLink.CallService(AQQ_SYSTEM_CHAT_PRESENCE, 0, DWord(@ChatPres));

Teraz żeby wyświetlić wiadomość na czacie
typedef struct TPluginMessage
{
 int cbSize;
 wchar_t* JID; //podajesz jid kanału i jid kontaktu w taki sposób "#haxite@kanal/arni077@kontakt"
 double Date;
 int ChatState; 
 wchar_t* Body; // tresc wiadomosci
 bool Offline;
 wchar_t* DefaultNick; //nick jaki sie ma wyświetlać
 bool Store; // czy ma zapisać wiadomość do archiwum czy nie
 unsigned char Kind; // dajemy wartość MSGKIND_GROUPCHAT = 1
} TPluginMessage;
typedef
 TPluginMessage *PPluginMessage;
PluginLink.CallService(AQQ_CONTACTS_MESSAGE, 0, DWord(@ChatMessage));

Myślę że wszystko wytłumaczyłem, a jeśli nie to proszę napisać to podpowiem.
  • Morpheus lubi to
[spoiler=Konfiguracja]
  • Windows: 7
  • AQQ: Zawsze najnowsze
  • Wtyczki: Standardowe, AQQ Restarter, Archeolog, VNotify
  • Kompozycja: Black Magic
  • IE: 8
[/spoiler]
Dołączona grafika Chomikuj.pl




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych