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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
###########################################################################
# 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