2.4 Wiadomości (message)

Tlen umożliwia przesyłanie trzech rodzaji wiadomości. Podobnie jak jabber, wiadomość może być zwykłą wiadomością, wiadomością z rozmowy lub wiadomością offline'ową przechowywaną na serwerze w przypdku niedostępności odbiorcy.
Dodatkowo Tlen potrafi odebrać wiadomość www, czyli pochodzącą z specjalnej bramki dostępnej na stronie www.

2.4.1 Wiadomość zwykła

W stosunku do swego przodka, Tlen został pozbawiony możliwości ustawienia tematu dla danej wiadomości zwykłej.

Aby wysłać wiadomość zwykłą, należy wysłać poniższy pakiet:

<message to="malcom@tlen.pl">
    <body>tresc</body>
</message>

Adresat otrzyma wiadomość w formacie:

<message from="malcom@tlen.pl">
    <body>tresc</body>
</message>

Oba pakiety są identyczne, różnią się tylko jednym parametrem określającym, do kogo – to lub od kogo – from wysyłamy/odbieramy wiadomość, który przyjmuje jako wartość pełny login tlenowy wraz z @tlen.pl.
Miedzy znacznikami body znajduje się treść wiadomości, która kodowana jest algorytmem urlencode.

Można jeszcze dodać opcjonalnie parametr type określający typ wiadomości, w tym przypadku - normal:

<message to="malcom@tlen.pl" type="normal">
    <body>tresc</body>
</message>

Nie jest to niezbędne, oryginalny klient pomija ten atrybut, ale na podstawie jego wartości odróżnia typy wiadomości.

2.4.2 Rozmowa

Wypowiedź w rozmowie jest typową wiadomością wysyłaną i odbieraną w oknie rozmowy. Pakiet tego typu wiadomości jest identyczny jak w wiadomości zwykłej, różni się tylko wartością atrybutu type.

Wysyłanie wypowiedzi dokonujemy pakietem:

<message to="malcom@tlen.pl" type="chat">
    <body>tresc</body>
</message>

Odbiorca otrzyma:

<message from="malcom@tlen.pl" type="chat">
    <body>tresc</body>
</message>

Jak widzimy wszystko jest proste i logiczne ;)

Jak widać o "wszystkim" decyduje wartość atrybutu type. Jeśli pominiemy ten atrybut, bądź ustalimy jego wartość na normal to zostanie wysłana wiadomość zwykła. Jeśli jego wartość zostanie ustawiona na chat to wiadomość traktowana jest jako wypowiedź rozmowy.

Należy zaznaczyć, że w przypadku ustawienia innej wartości parametru type wiadomość zostanie odebrana przez klienta odbiorcy, ale nie zostanie wyświetlona w żadnym oknie. Można tą właściwość wykorzystać np. do transmisji danych w jakimś pluginie.

2.4.3 Wiadomość offline

W przypadku, gdy wyślemy wiadomość lub wiadomość rozmowy do adresata, który obecnie jest niedostępny, wiadomość ta zostanie zachowana na serwerze. Odbiorca otrzyma ją przy najbliższym zalogowaniu się do sieci.

Pakiet takiej wiadomości zostanie wzbogacony o dodatkowe informacje - date i czas otrzymania tej wiadomości przez serwer.

Przykładowy pakiet wiadomości offline z rozmowy:

<message from="malcom@tlen.pl" type="chat">
    <body>tresc</body>
    <x xmlns="jabber:x:delay" stamp="20070320T12:57:43"/>
</message>

Atrybut stamp taga x zawiera interesujące nas dane o dacie i czasie otrzymania wiadomości zapisane w dziwnym formacie.
Ten dziwny format można spotkać tylko tutaj, w innych częściach protokołu informacje o dacie/czasie są prezentowane w formacie uniksowego znacznika czasu.

2.4.4 Wiadomość z bramki www

Standardowa bramka www Tlen.pl znajduje się w serwisie ludzie.tlen.pl. Za jej pomocą można wysłać wiadomość na komunikator. Oczywiście każdy webmaster może taką bramkę zamieścić na swojej stronie, gdzieś udostępniony jest odpowiedni kod.

Wiadomość wysłana z bramki www dociera do naszego klienta w zupełnie innym pakiecie niż pozostałe wiadomości. Konstrukcja tego pakietu jest następująca:

<w f="nick" e="email%40serwer.pl" s="ludzie.tlen.pl/malcom">
tresc</w>

Atrybut f określa nadawcę, czyli nick wpisany w pole "Od kogo" w bramce, natomiast e email nadawcy – pole "Twój e-mail".
Parametr s zawiera adres strony z bramka, z której wysłano tą wiadomość.
Zawartość taga w jest treścią wiadomości wpisane w pole "Treść wiadomości" w bramce. Oczywiście treść zakodowana jest algorytmem urlencode, tak samo zawartość parametru f i e.

Tę stronę ostatnio zmodyfikowano 20 marca 2007 18:28:20