Beispielskript für Autoreply-Datenbankbenutzer

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.

Download: sqlscript.txt

###########################################################################
# 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'
C:\Program Files\Ozeki\Ozeki10\Data\NG\config\TestApp\sqlscript.txt
Gesamtzahl der Zeilen: 93

More information