Natknąłem się przypadkiem na informację, że chat dostępny na witrynie QuakeLive.com jest oparty o XMPP. Postanowiłem więc sprawdzić czy da się podłączyć do niego przez WTW i chociaż działa - jest nieco upierdliwe. Oto co trzeba zrobić:
1) logujemy się swoim kontem na stronie quakelive.com
2) gdy jesteśmy już zalogowani odpalamy stronę
http://www.quakelive.com/user/load3) interesują nas dwa pola: pierwsze to USERNAME - po nim w cudzysłowie jest nasz login oraz XAID - po nim w cudzysłowie jest nasze hasło
4) tworzymy w WTW nowe konto XMPP
5) jako użytkownik wpisujemy login, a jako hasło ciąg znaków XAID z kroku nr 3
6) zasobem (po slashu w nazwie użytkownika) powinien być quakelive (chociaż nie wiem czy ma to jakiekolwiek znaczenie)
7) niżej w opcjach zaznaczamy "określ serwer połączenia ręcznie" i jako adres serwera wpisujemy xmpp.quakelive.com
8) możemy się zalogować do czata z poziomu WTW, a na stronie QuakeLive zobaczymy komunikat: "You have been automatically logged out due to having logged in from another location."
Pic polega na tym, że hasło XAID to hasło sesji generowane za każdym razem podczas logowania na stronie QL. Ale z programistycznego punktu widzenia nie było by to skomplikowane aby po zalogowaniu z poziomu WTW np. wtyczka odwiedziła sobie wspomniany wcześniej adres, sparsowała go na szybko i wypruła hasło do zalogowania.
Z tego co widzę kontakty z tak utworzonego konta pobierają się prawidłowo (na liście w WTW pojawiają się wszyscy "friends" z Quake). A co ciekawe jeśli ktoś ze znajomych akurat gra - w jego opisie pojawia się np. coś takiego:
{"ADDRESS":"195.42.112.212:27005","BOT_GAME":0,"MAP":"maps/heroskeep.bsp","PUBLIC_ID":1,"SERVER_ID":"314875"}
Te informacje z opisu też można by ładnie parsować i wyświetlać (również jako opis), ale np. ładnie ułożone itp.
Oczywiście zalogowanie się na stronie wyloguje nas z WTW i vice versa.
Przy okazji tego znaleziska mam też kod źródłowy oraz skompilowaną wersję klienta do tego czatu - w załączniku.
Hmmm czy ktoś z wtyczkopisarzy podjąłby się uporządkowania tego i doprowadzenia do stanu przyjaznej funkcjonalności? :):):)
---edit---
najprzyjaźniej widzę to w formie wtyczki która wyciągała by jedynie XAID, natomiast w konfiguracji xmpp zamiast hasła można by wpisać np. stałą nazwę zmiennej, którą to owa wtyczka by tylko aktualizowała tuż przed podłączeniem. :)