Kolorowy #Blip w #Miranda z obrazkami i cytatami
O co chodzi? I po co?
Od ponad roku korzystam z Blipa. Przez ten rok chyba na każdy możliwy sposób z niego korzystałem – przez kokpit na WWW, przez GG i JID jabbera, przez BlipFoxa (w którejś zdecydowanie wcześniejszej wersji) oraz przez dwie aplikacje – Blippera i AirBlipa. Każde z tych rozwiązań ma swoje zalety i wady. Ostatecznie wybrałem Blipa przez jabbera, a dokładniej przez konto GoogleTalk w Mirandzie. W Mirandzie, bo pozwala korzystać z kilku transportów: nie każdy znajomy chce przesiąść się na jakiego Jabbera, a i nie wszyscy mogą korzystać z GG – chociażby pracujący w różnych korporacjach (GoogleTalk jest wtedy rozwiązaniem idealnym). Przez JID GoogleTalka, bo mam historię w skrzynce GMailowej (i jak mnie nie ma to mogę zawsze zobaczyć co się działo). [ad#postad]Długo jednak korzystałem z Blippera (tak samo jak inne aplikacje), który miał tę niezaprzeczalną przewagę nad komunikatorem że pokazywał zdjęcia i obrazki bez konieczności wchodzenia na www. Niestety wszystkie aplikacje mają też wadę – są dodatkowymi aplikacjami, a z ich instalacją nie zawsze jest tak łatwo, szczególnie w pracy ;). Mirandy nie trzeba instalować – działa nawet z pendrive’a… Rozwiązaniem problemów byłoby coś, co wyciągnie z Blipa i pokaże w komunikatorze obrazki. Tylko co i jak?
Jak to działa?
Szukałem jakiś czas komunikatora, który pozwoli wpływać na wygląd wyświetlanej wiadomości na podstawie jej treści. Czyli na przykład wszystkie słowa ze znaczkiem # pokoloruje na czerwono, a ze znakiem ^ na niebiesko. I nie znalazłem. Ale w sumie przez przypadek dotarłem do wtyczki mBot dla Mirandy. Pozwala ona między innymi zareagować poprzez skrypt PHP na przychodzą wiadomość zanim zostanie ona wyświetlona. W to mi graj! Tak więc działa to tak:
- przychodzi do Mirandy wiadomość z Blipa
- mBot przekazuje ją do odpowiedniej funkcji (najprościej mówiąc)
- odpowiednia funkcja ;) analizuje wiadomość i na podstawie ciągu znaków w wiadomości robi różne rzeczy zmieniając ciąg z Blipa. Jakie rzeczy? O tym już za moment
- po zmianach przetworzony ciąg z Blipa wyświetlamy
Co to daje albo co to może?
Otóż może kilka rzeczy. Możemy kolorować tagi (poprzedzone oczywiście znakiem #), kolorować nicki (poprzedzone ^), wyświetlamy obrazki (tak jak w kokpicie) plus link do wersji pełnowymiarowej (czyli do obrazka jaki dostajemy kilkając w pomniejszoną wersję na kokpicie/bliplogu). Dodatkowo – jeśli ktoś nas cytuje bądź mówi o nas – skrypt pokazuje „blipnięcie" w którym cytowanie/obmawianie ma miejsce.



Co ważne – pokazywanie zdjęć i innych „blipnięć" polega na parsowaniu strony danego „blipnięcia" na takiej samej zasadzie jak widzi tę stronę anonimowy użytkownik. A to oznacza, że nie zobaczymy obrazków/cytatów z wiadomości skierowanych i prywatnych.
Czego potrzebujemy?
Jak wspomniałem – potrzebujemy Mirandy, wtyczki mBot, wtyczki która pozwoli w okienku wiadomości zinterpretować BBcode – na przykład IEView (zapewne też podobnej, jednak sprawdzałem tylko IEview) oraz samego skryptu w PHP. Zdaje się też, że konieczna jest wtyczka Scriver. Ja używam:
Instalacja – przeczytaj uważnie!
Osobom, które mają zainstalowaną wtyczkę IEview polecam ściągnięcie gotowego archiwum (nie trzeba instalować mBot). Wystarczy je wypakować i skopiować zawartość katalogu Miranda do katalogu z Mirandą jakiej używamy. Plik find_blip.php będzie potrzebny do konfiguracji skryptu. Po wypakowaniu i dograniu odpowiednich plików, trzeba zrobić restart Mirandy. Po nim w menu głównym programu pojawi się menu MBot, a w nim opcja “Show MBot Console”. Wybieramy ją, w okienku które nam się pojawi otrzymujemy widok podobny do poniższego obrazka.

Wybieramy teraz New->Install Script, a następnie plik find_blip.php. W okienku konsoli pojawi się kilka linijek tekstu. Interesuje nas tylko jedna – wartość CID. Ja w liście kontaktów mam zarówno Blipa przez Jabbera jak i przez GG, stąd zaznaczone dwa numery na obrazku. Zapisujemy sobie odpowiedni numerek CID, otwieramy plik blip.php z katalogu Miranda/mbot/scripts/autoload (Miranda to w tym przypadku już katalog programu, do którego dograliśmy zawartość archiwum!), odszukujemy linię 36 i w niej wpisujemy odpowiednią wartość dla zmiennej $blipcid. Dodatkowo w linii 20 warto zmienić słowo “lemur” na inne – proponuję wpisać tam swój blipowy nick. Słowo to będzie podświetlane. A chyba bardziej interesuje Was swój nick niż słowo “lemur”? ;) Na koniec zapisujemy plik blip.php, resetujemy Mirandę i cieszymy się, bo wszystko powinno działać. Jeśli chcecie zmienić wygląd (np. kolor) podświetlanych słów – odpowiednie fragmenty znajdziecie w zmiennych umieszczonych w liniach 11-33.
Na koniec
Skrypt można dowolnie modyfikować, jednak mam prośbę o przesłanie wersji zmodyfikowanych do mnie.