K2T.eu :: Forum
WTW => Obsługa Protokołów => Komunikator => XMPP => Wątek zaczęty przez: oscyp w Grudnia 04, 2011, 17:01:50 pm
-
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/load (http://www.quakelive.com/user/load)
3) 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. :)
-
Oczywiście zalogowanie się na stronie wyloguje nas z WTW i vice versa.
trochę dziwne to w przypadku xmpp
-
Coś nie mogę się połączyć. Czekam z niecierpliwością na wtyczkę może ktoś się pokusi :P
-
Jeśli zrobiłeś wszystko tak jak opisałem - to działa. Jeśli masz znajomych w Quake to stwórz sobie filtr listy kontaktów w WTW i zobaczysz, że pobierze Ci friendsów na listę :)
-
Jakby ktoś chciał to mam źródła takiej wtyczki w Perlu napisanej dla Pingina.
-
Mój nick w QuakeLive to "kubus_pl", dajcie wasze ;)
-
"oscyp"
a co z tą wtyczką :P
-
no patrzcie - do pidgina zrobili :P
http://www.uyqlive.com/quakelive/pidgin/
-
czyli się da!
teraz tylko prosić twórców :D
-
hmm temat chyba umarł a mógłby dobrze się rozwinąć. Znalazłem nieco dodatkowych pomocnych rzeczy:
Dyskusja: http://forum.drc.su/using-trillian-jabber-to-talk-to-quakelive-players-vt4467.html (http://forum.drc.su/using-trillian-jabber-to-talk-to-quakelive-players-vt4467.html)
Materiały: [attach=1]
może jednak ktoś by podziałał...?
-
Dzięki opisowi z pierwszego posta napisałem skrypcik w Ruby, który wybiera nam z serwera co potrzebne. Chętnie widziałbym taką funkcjonalność jako wtyczka do wtw, ale póki co poradziłem sobie po swojemu. A tak to działa - . youtube. com/watch?v=SgStHjFsgS4. W opisie paczka ze skryptem, może kogoś natchnie na zrobienie wtyczki.
-
jedyne co mogę zrobić to tylko dodać pozycję do menu Narzędzia->QuakeLive pod którą byłoby okienko w które wpisuje się nazwę użytkownika, hasło i otrzymuje XAID, gdyż api WTW nie pozwala na takie machlojki jak w pidginie ;P + mogę też dodać formatowanie opisów tylko że potrzebuję żeby mi ktoś wytłumaczył co to wszystko tam oznacza i jak to najlepiej Wam sformatować jako że ja nie korzystam z tego ;>
-
mogę pomóc w testach itp.
-
no to pomóż a nie mów że możesz pomóc xD bo mi się chęci skończą ;P
-