WTW - Skrypty

Z WTW :: Wiki
(Przekierowano z WTW - Skrypty SMS)

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;

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);