Die Skriptdatei 'sqlscript.txt' wird automatisch im Ordner jedes Autoreply-Datenbankbenutzers generiert.
Dieses Beispielskript zeigt, wie eingehende SMS-Nachrichten gefiltert und weitergeleitet oder beantwortet werden können,
basierend auf den Zeilen, die mit Hilfe einer oder mehrerer SQL-SELECT-Anweisungen generiert wurden.
###########################################################################
# Standardskriptdatei für die Autoreply-Konfiguration. Dieses Skript
# wird jedes Mal ausgeführt, wenn eine neue Nachricht an das System
# von einem Mobiltelefon gesendet wird.
#
# Eintrag:
# Ein Eintrag enthält eine einzelne Bedingungszeile, die mit
# einer Bedingungsoption beginnt. Die Bedingungszeile wird von
# einer oder mehreren Aktionszeilen gefolgt. Aktionszeilen enthalten SQL-
# Befehle. Der Eintrag wird durch eine leere Zeile abgeschlossen.
#
# Bedingungsoptionen:
# n - wenn die Rufnummer des Absenders dem Muster entspricht
# m - wenn der Nachrichtentext dem Muster entspricht
# k - wenn das Schlüsselwort dem Muster entspricht. (Das Schlüsselwort ist das erste Wort
# der Nachricht. Das Schlüsselwort wird in Großbuchstaben umgewandelt)
#
# Aktion:
# Jede Zeile enthält einen SQL-Befehl. Bevor die SQL-Befehle
# in der Datenbank ausgeführt werden, werden die folgenden Wörter ersetzt:
# $originator - wird durch die Rufnummer des Absenders der Nachricht ersetzt
# $sender - wird durch die Rufnummer des Absenders der Nachricht ersetzt
# (ein Alias für originator)
# $recipient - wird durch die Rufnummer ersetzt, die die Nachricht empfangen hat
# $receiver - wird durch die Rufnummer ersetzt, die die Nachricht empfangen hat
# (ein Alias für recipient)
# $messagedata - wird durch den Nachrichtentext ersetzt
# $keyword - wird durch das Schlüsselwort in der Nachricht ersetzt
# $after - wird durch den Nachrichtentext nach dem Schlüsselwort in der Nachricht ersetzt
# $senttime - wird durch den Zeitstempel ersetzt, der angibt, wann die Nachricht gesendet wurde
# $receivedtime - wird durch den Zeitstempel ersetzt, der angibt, wann die Nachricht empfangen wurde
# $messagetype - wird durch den Nachrichtentyp ersetzt (in den meisten Fällen ist dies SMS:TEXT)
# $id - wird durch die eindeutige Zeichenkettenkennung der Nachricht ersetzt
# $operator - wird durch den Namen des Dienstanbieters ersetzt
# Verbindung, die die Nachricht empfangen hat
#
# Antwort:
# Die SQL-Befehle im Aktionsabschnitt können eine oder mehrere Antwortnachrichten zurückgeben.
# Eine Antwortnachricht ist eine Zeile im Resultset der SQL-Abfrage. Eine Zeile im Resultset
# sollte die folgenden Spalten enthalten:
# recipient - Die 1. Spalte im Resultset (Pflicht)
# messageData - Die 2. Spalte im Resultset (Pflicht)
# messageType - Die 3. Spalte im Resultset (Optional)
# sender - Die 4. Spalte im Resultset (Optional)
# operatorNames - Die 5. Spalte im Resultset (Optional)
#
# Kommentare:
# Das Rautenzeichen (#) markiert einen einzeiligen Kommentar
###########################################################################
###########################################################################
#Bedingung:
# Die Absenderrufnummer beginnt mit +44
#Aktion:
# Eine SQL-Anweisung wird angegeben. Bevor die Anweisung
# ausgeführt wird, wird das Wort '$sender' durch die
# Telefonnummer der Person ersetzt, die die Nachricht an das
# System gesendet hat.
#
n^+44.*
SELECT '$sender',messagetext FROM defaultresponse
###########################################################################
#Bedingung:
# Die Nachricht beginnt mit dem Schlüsselwort: RED
#Aktion:
# Zwei SQL-Anweisungen werden ausgeführt, die erste
# aktualisiert eine Datenbanktabelle, die zweite gibt eine
# Antwortnachricht zurück
k^RED
UPDATE stats SET incoming = incoming+1 WHERE keyword='RED';
SELECT '$sender',messagetext from defaultresponse where keyword='RED'
###########################################################################
#Bedingung:
# Der Nachrichtentext enthält das Wort ALERT
#Aktion:
# Viele Nachrichten werden an die Empfänger gesendet, die in
# der Tabelle alertrecipients gespeichert sind
m.*ALERT.*
SELECT recipients,'Alarm, jemand ist eingebrochen!' FROM alertrecipients
###########################################################################
#Bedingung:
# Alle eingehenden Nachrichten (von jeder Telefonnummer)
#Aktion:
# Wählt eine Antwort basierend auf dem Schlüsselwort aus
n.*
SELECT '$sender',messagetext from keywordresponse where keyword='$keyword'