WTW - Skrypty
Z K2T
W folderze aplikacji można odnaleźć katalog "Scripts", rezydują tam skrypty, które może wykonywać program. Na razie jedyny dostępny rodzaj ich, to bramki SMS. Skrypt składa się z dwóch części, jedna to plik .xml opisujący bramkę, i właściwego pliku skryptu lua.
Bramka SMS
Przykładowy pliczek XML:
<script> <type>smsGateway</type> <name>Era Omnix (Sponsorowana)</name> <imp>eraOmnixStandard.lua</imp> <guid>02AE902F-EDB3-496e-83B4-A297B295D5AA</guid> <apiVersion>1</apiVersion> <version>1</version> <maxSmsLen>110</maxSmsLen> <maxSms>5</maxSms> <ownerData/> <config title="Era Sponsorowana" subtitle="..."> <field name="login" type="text" label="Login:"/> <field name="passw" type="pass" label="Haslo:"/> <field name="mms" type="check" label="Jako MMS"/> </config> </script>
Gdzie mamy jeden nadrzędy tag <script/> pod którym umieszczamy zestaw tagów z opisem skryptu:
- type - typ skryptu, jedyny na razie obsługiwany to "smsGateway";
- name - nazwa bramki, dowolna;
- imp - implementacji plik, nazwa pliku *.lua, który zawiera implementację samej bramki;
- guid - ID bramki, dla każdej bramki MUSI byc inny, bo po nich bramki są rozpoznawane;
- apiVersion - dla jakiej wersji API napisano skrypt, musi być zgodny z wersją używaną w WTW;
- version - wersja skryptu, może zawierać cokolwiek
- maxSmsLen - maksymalna długość wiadomości jaką można wysłać tą bramką, jeśli user będzie chciał wysłać coś dłuższego, to wtw podzieli je na kawałki zgodnie z podaną długością;
- maxSms - maksymalna ilość smsów jakie można wysłać za jedną razą;
- ownerData - string, który zostanie przekazany do skryptu jako parametr "ownerData";
- config - coś co zawiera opis pól okna konfiguracji, title = górny napis, subtitle, ten pod górnym napisem
- field - pole opcji, parametry:
- type - typ pola, text, pass, check;
- name - nazwa pola;
- label - opis pola;
- field - pole opcji, parametry:
Plik implementacji powinien zawierać następująco skonstruowaną funkcję wejścia:
function sendSMS (to, msg, hLog, ownerData, config) -- [implementacja] end
Gdzie:
- to - numer, na który wysłać w formacie międzynarodowym;
- msg - wiadomość, nie przekracza podanego w xml'u "maxSmsLen";
- hLog - handle okna logu, używane w funkcji log();
- ownerData - adekwatny string z xml'a;
- config - string z opcjami, w formacie
param="wartosc",param3="wartosc"gdzie param to nazwy pól (zgodnie z opisem w XML);