Roboty to aplikacje, które wchodzą w interakcje z Falą poprzez protokół Wave (interfejs HTTP). Obecnie obsługiwane są tylko roboty hostowane na Google App Engine, lecz w przyszłości ma zostać dodana obsługa dowolnej platformy hostowania aplikacji webowych/robotów Fali.
By móc tworzyć roboty napisane w Pythonie potrzebujemy biblioteki Wave Robot Python Client, którą można pobrać z repozytorium SVN:Mając gotową konfigurację możemy zabrać się za kod robota zawarty w nazwaSkryptu.py. Oto prosty przykład: W powyższym przykładzie importujemy API biblioteki Wave dla Pythona i definiujemy funkcję Main, która definiuje nowego robota o podanej nazwie, rejestruje obsługę zdarzeń dla zdarzeń WAVELET_PARTICIPANTS_CHANGED i WAVELET_SELF_ADDED i uruchamia robota. Funkcje stworzone przed funkcją Main zostaną wykonane przy zaistnieniu tych zdarzeń.
Uzyskiwanie dostępu do Fali
W naszym przykładzie wykorzystujemy zdarzenie WAVELET_SELF_ADDED, by móc wykryć kiedy robot zostanie dodany do jakiejś Fali i wykonać jakąś czynność, np. napisać wiadomość w Fali. W tym celu stworzyliśmy funkcję OnRobotAdded: Wykorzystujemy także zdarzenie WAVELET_PARTICIPANTS_CHANGED, by wykryć gdy ktoś inny niż robot zostanie dodany do fali. Do obsługi tego zdarzenia mamy funkcję OnParticipantsChanged: Dla każdego dodanego uczestnika Fali wywołujemy funkcję Notify, która do Fali dodaje blipa z tekstem "Hi everybody!".Wersje Robotów
Roboty w Wave API są wersjonowane. Pozwala to wykryć systemowi zmiany możliwości, kodu robota. Jeżeli zmieniasz możliwości, funkcjonalności Robota powinieneś także zmienić wersję w jego konstruktorze. Wersja jest zwykłym tekstowym identyfikatorem.Publikowanie i testowanie Robotów
Możesz testować roboty publikując je na App Engine i dodając do Fali. Obecnie nie ma możliwości testowania robotów hostowanych lokalnie, lecz przyszłe wersje SDK będą pozwalały na testowanie lokalnych robotów.
Po opublikowaniu robota na GAE możesz sprawdzić jego dostępność otwierając w przeglądarce http://NazwaAplikacji.appspot.com/_wave/capabilities.xml. Plik capabilities.xml generowany jest automatycznie przez API i zawiera listę zdarzeń wykorzystywanych w robocie.
Dodawanie Robotów do Fali
Obecnie by dodać nowego robota dodaj go do kontaktów. Adres robota to NazwaAplikacji@appspot.com, np: dummyrobot@appspot.com :) Następnie dodaj go jako uczestnika Fali - robot dołączy do niej i wywołana zostanie funkcja "OnRobotAdded".
Na podstawie Google Wave Robots: Python Tutorial.