Przykładowy skrypt dla użytkownika bazy danych Autoreply
Plik skryptu 'sqlscript.txt' jest automatycznie generowany w folderze
każdego użytkownika bazy danych Autoreply.
Ten przykładowy skrypt pokazuje, jak filtrować przychodzące wiadomości SMS i przekazywać je lub
na nie odpowiadać
na podstawie wierszy wygenerowanych za pomocą jednego lub więcej poleceń SQL SELECT.
###########################################################################
# Domyślny plik skryptu dla konfiguracji Autoreply. Ten skrypt
# jest wykonywany za każdym razem, gdy nowa wiadomość jest wysyłana do systemu
# z telefonu komórkowego
#
# Wpis:
# Jeden wpis zawiera pojedynczą linię warunku, która zaczyna się
# od opcji warunku. Linia warunku jest następnie
# po jednej lub więcej liniach akcji. Linie akcji zawierają polecenia
# SQL. Wpis jest zamykany pustą linią
#
# Opcje warunku:
# n - jeśli numer telefonu nadawcy pasuje do wzorca
# m - jeśli tekst wiadomości pasuje do wzorca
# k - jeśli słowo kluczowe pasuje do wzorca. (Słowo kluczowe to pierwsze słowo
# wiadomości. Słowo kluczowe jest konwertowane na wielkie litery)
#
# Akcja:
# Każda linia zawiera polecenie SQL. Przed wykonaniem poleceń SQL:
# następujące słowa są zastępowane:
# $originator - jest zastępowany numerem telefonu nadawcy wiadomości
# $sender - jest zastępowany numerem telefonu nadawcy wiadomości
# (alias dla originator)
# $recipient - jest zastępowany numerem telefonu, który otrzymał wiadomość
# $receiver - jest zastępowany numerem telefonu, który otrzymał
# wiadomość (alias dla recipient)
# $messagedata - jest zastępowany tekstem wiadomości
# $keyword - jest zastępowany słowem kluczowym w wiadomości
# $after - jest zastępowany tekstem wiadomości po słowie kluczowym
# $senttime - jest zastępowany znacznikiem czasu, który reprezentuje czas wysłania wiadomości
# $receivedtime - jest zastępowany znacznikiem czasu, który reprezentuje czas otrzymania wiadomości
# $messagetype - jest zastępowany typem wiadomości (w większości przypadków będzie to SMS:TEXT)
# $id - jest zastępowany unikalnym identyfikatorem wiadomości
# $operator - jest zastępowany nazwą operatora sieciowego
# połączenia, które odebrało wiadomość
#
# Odpowiedź:
# Polecenia SQL w sekcji Akcji mogą zwrócić jedną lub więcej odpowiedzi.
# Odpowiedź to wiersz w zestawie wyników polecenia SQL select. Wiersz w zestawie wyników
# powinien zawierać następujące kolumny:
# recipient - Pierwsza kolumna w zestawie wyników (Wymagana)
# messageData - Druga kolumna w zestawie wyników (Wymagana)
# messageType - Trzecia kolumna w zestawie wyników (Opcjonalna)
# sender - Czwarta kolumna w zestawie wyników (Opcjonalna)
# operatorNames - Piąta kolumna w zestawie wyników (Opcjonalna)
#
# Komentarze:
# Znak hashmark (#) oznacza komentarz jednoliniowy
###########################################################################
###########################################################################
#Warunek:
# Numer nadawcy zaczyna się od +44
#Akcja:
# Określono jedno polecenie SQL. Przed wykonaniem polecenia
# słowo '$sender' jest zastępowane numerem telefonu
# osoby, która wysłała wiadomość do systemu.
#
n^+44.*
SELECT '$sender',messagetext FROM defaultresponse
###########################################################################
#Warunek:
# Wiadomość zaczyna się od słowa kluczowego: RED
#Akcja:
# Wykonywane są dwa polecenia SQL, pierwsze
# aktualizuje tabelę w bazie danych, drugie zwraca
# odpowiedź
k^RED
UPDATE stats SET incoming = incoming+1 WHERE keyword='RED';
SELECT '$sender',messagetext from defaultresponse where keyword='RED'
###########################################################################
#Warunek:
# Tekst wiadomości zawiera słowo ALERT
#Akcja:
# Wiele wiadomości zostanie wysłanych do odbiorców zapisanych w
# tabeli alertrecipients w bazie danych
m.*ALERT.*
SELECT recipients,'Alert, ktoś się włamał!' FROM alertrecipients
###########################################################################
#Warunek:
# Wszystkie przychodzące wiadomości (z dowolnego numeru telefonu)
#Akcja:
# Wybierz odpowiedź na podstawie słowa kluczowego
n.*
SELECT '$sender',messagetext from keywordresponse where keyword='$keyword'