Tagi:  •    •    •  

Ciężko jest robić cokolwiek, jeśli czas gra rolę głównego antagonisty. Równie ciężko jest robić cokolwiek, jeśli czasu nie ma w ogóle. Bywają jednak chwile, kiedy akurat uchyli swoją wredną głowę nad nikłe niczym sieć pajęcza nasze egzystencje, zatrzepota swoimi uszczypliwymi rzęsami w wyrazie albo politowania, współczucia, lub też przeciwnie, w celu dokalibrowania miejsca gdzie uderzyć następnym razem, akurat wtedy można przez chwilę doświadczyć jego istnienia, wykorzystując to w różnych celach. W moim przypadku było to napisanie prostego skryptu do wysyłania smsów z bramki multibox Orange. :)

Poszukiwałem jakiegoś łatwego i szybkiego tematu, aby zacząć uczyć się Ruby, częściowo zainspirowany zachwalaniem go znajomych, częściowo dlatego że zawsze chciałem się go nauczyć z uwagi na jego podobno zamotaną składnię. *Nie można* uczyć się jezyka przez samo czytanie o języku, trzeba z tego języka po prostu *skorzystać* — stąd pomysł na coś tak prostego jak frontend konsolowy do bramki sms.

Nie znam Ruby — nie wiem, czy to co napisałem trzyma się ogólnie przyjętych standardów co do programowania w tym języku, napisałem to w taki sposób, jaki wydawał mi się stosowny. Być może niektóre rzeczy dałoby się napisać prościej, korzystając z charakterystycznych konstruktów tego języka, być może nie. Nie wiem tego teraz, ale możliwe że jeśli moja chęć nauki przetrwa pierwsze kilka zakrętów, w końcu się tego dowiem :). A dlaczego Ruby? Dlaczego nie :).

Bramka przystosowania jest do działania z bramką Multibox Orange, czyli tą dostępną dopiero po zalogowaniu do serwisu, więc musisz mieć konto na orange.pl, aby skorzystać ze skryptu. Swój login i hasło wstaw do zmiennych user i pass, które znajdują się w pliku orangesms.rb, albo src/sms.rb (jeśli zmienisz ten drugi plik, musisz wygenerować orangesms.rb za pomocą make dist).

Struktura paczki:



- Makefile — skrypt dla make, zawiera targety: clean (czyści drzewo), dist (tworzy plik dystrybuowalny orangesms.rb i domyślny all, który przeprowadza prosty syntax check.

- orangesms.rb — plik ze skryptem właściwym, który można przegrać w dowolne miejsce i po prostu uruchamiać. Nie jest zależy od żadnego innego pliku.

- katalog src — źródła skryptu podzielone na kilka plików, aby wygodnie pisało się skrypt.

To tyle — paczkę możesz pobrać tutaj (multi-os) [2,5kb]

Update - 5 luty 2009

Widać administratorzy Orange nacisnęli kilka przycisków, co poskutkowało zepsuciem się skryptu. Aby naprawić jego działanie, należy dwa odwołania do orange.pl zamienić na www.orange.pl. Zupdate'owane źródło możesz ścągnąć stąd (nie zapomnij o zmianie username/password w linii 160).

Update - 20 luty 2009

Kolejna zmiana sposobu wysyłania smsów. Na szczęście sprowadza się tylko do lekkiej modyfikacji, która co prawda nie jest zła sama w sobie, ale złowieszczy na przyszłość. Nazywa się ona token, i jeszcze w tej chwili można go wyciągnąć ze źródeł strony, ale przeczuwam że w przyszłości token będzie zapisywany w obrazku, nie w tekście. Tutaj znajduje się najnowsze źródło (przypominam o zmianie swojego username/password w skrypcie).

Update - 15 czerwca 2009

Zmiana serwera z www.orange.pl na www2.orange.pl. Przeźroczysta dla usera, ale krytyczna dla działania skryptu. Nowy, poprawiony znajduje się tutaj (po raz kolejny przypominam o zupdate'owaniu username i password w źródle skryptu).

Oprócz tego, znalazłem dwa ciekawe sajty, oba są raczej w temacie ;).

[1] - http://code.google.com/p/skrypty-sms/source/browse/trunk/sms.orange.pl
[2] - http://rodion.grolsh.pl/orangembox.php

Komentuj

Zawartość tego pola nie będzie udostępniana publicznie.
  • Adresy internetowe są automatycznie zamieniane w klikalne odnośniki.
  • Use <!--pagebreak--> to create page breaks.
  • You may post block code using <blockcode [type="language"]>...</blockcode> tags. You may also post inline code using <code [type="language"]>...</code> tags.
  • Use <fn>...</fn> to insert automatically numbered footnotes.

Więcej informacji na temat formatowania