Commit 11ab0cb500dc0eec4a9a8b9ca3a06dc3ac9fcfa7
1 parent
8277e827
Neue Rasa-Entities eingebaut.
Showing
27 changed files
with
260 additions
and
1805 deletions
docker/docker-compose.yml
@@ -25,4 +25,4 @@ services: | @@ -25,4 +25,4 @@ services: | ||
25 | volumes: | 25 | volumes: |
26 | - ./rasa_nlu/volumes/data/api/:/app/data/api | 26 | - ./rasa_nlu/volumes/data/api/:/app/data/api |
27 | - ./rasa_nlu/volumes/logs/:/app/logs/ | 27 | - ./rasa_nlu/volumes/logs/:/app/logs/ |
28 | - command: python -m rasa_nlu.server -c config/chatbot_config.json --server_model_dirs=default | ||
29 | \ No newline at end of file | 28 | \ No newline at end of file |
29 | + command: python -m rasa_nlu.server -c config/chatbot_config.json #--server_model_dirs=default | ||
30 | \ No newline at end of file | 30 | \ No newline at end of file |
docker/rasa_nlu/Dockerfile
@@ -16,7 +16,7 @@ WORKDIR ${RASA_NLU_HOME} | @@ -16,7 +16,7 @@ WORKDIR ${RASA_NLU_HOME} | ||
16 | # Install rasa and its dependencies | 16 | # Install rasa and its dependencies |
17 | RUN pip install -U spacy scikit-learn scipy sklearn-crfsuite | 17 | RUN pip install -U spacy scikit-learn scipy sklearn-crfsuite |
18 | RUN python -m spacy download de | 18 | RUN python -m spacy download de |
19 | -RUN pip install rasa_nlu==0.9.1 | 19 | +RUN pip install rasa_nlu==0.10.6 |
20 | 20 | ||
21 | # train the model | 21 | # train the model |
22 | COPY rasa_config.json config/chatbot_config.json | 22 | COPY rasa_config.json config/chatbot_config.json |
@@ -24,6 +24,6 @@ COPY volumes/data/api/ data/api | @@ -24,6 +24,6 @@ COPY volumes/data/api/ data/api | ||
24 | RUN python -m rasa_nlu.train -c config/chatbot_config.json | 24 | RUN python -m rasa_nlu.train -c config/chatbot_config.json |
25 | 25 | ||
26 | # Cleanup | 26 | # Cleanup |
27 | -RUN mv models/model_* models/default && rm -r data/api | 27 | +#RUN mv models/model_* models/default && rm -r data/api |
28 | 28 | ||
29 | EXPOSE 5000 | 29 | EXPOSE 5000 |
30 | \ No newline at end of file | 30 | \ No newline at end of file |
docker/rasa_nlu/volumes/data/api/agent.json
@@ -5,6 +5,7 @@ | @@ -5,6 +5,7 @@ | ||
5 | "smalltalk-domain-on", | 5 | "smalltalk-domain-on", |
6 | "smalltalk-fulfillment-on" | 6 | "smalltalk-fulfillment-on" |
7 | ], | 7 | ], |
8 | + "disableInteractionLogs": false, | ||
8 | "googleAssistant": { | 9 | "googleAssistant": { |
9 | "googleAssistantCompatible": false, | 10 | "googleAssistantCompatible": false, |
10 | "welcomeIntentSignInRequired": false, | 11 | "welcomeIntentSignInRequired": false, |
@@ -22,9 +23,13 @@ | @@ -22,9 +23,13 @@ | ||
22 | "defaultTimezone": "Europe/Madrid", | 23 | "defaultTimezone": "Europe/Madrid", |
23 | "webhook": { | 24 | "webhook": { |
24 | "available": false, | 25 | "available": false, |
25 | - "useForDomains": false | 26 | + "useForDomains": false, |
27 | + "cloudFunctionsEnabled": false, | ||
28 | + "cloudFunctionsInitialized": false | ||
26 | }, | 29 | }, |
27 | "isPrivate": false, | 30 | "isPrivate": false, |
28 | "customClassifierMode": "use.after", | 31 | "customClassifierMode": "use.after", |
29 | - "mlMinConfidence": 0.2 | 32 | + "mlMinConfidence": 0.2, |
33 | + "supportedLanguages": [], | ||
34 | + "enableOnePlatformApi": false | ||
30 | } | 35 | } |
31 | \ No newline at end of file | 36 | \ No newline at end of file |
docker/rasa_nlu/volumes/data/api/entities/date.json
@@ -2,68 +2,6 @@ | @@ -2,68 +2,6 @@ | ||
2 | "id": "7d5ec91f-9608-4a88-aa16-91f02a60ce60", | 2 | "id": "7d5ec91f-9608-4a88-aa16-91f02a60ce60", |
3 | "name": "date", | 3 | "name": "date", |
4 | "isOverridable": true, | 4 | "isOverridable": true, |
5 | - "entries": [ | ||
6 | - { | ||
7 | - "value": "today", | ||
8 | - "synonyms": [ | ||
9 | - "today", | ||
10 | - "heute", | ||
11 | - "heut", | ||
12 | - "heutigen" | ||
13 | - ] | ||
14 | - }, | ||
15 | - { | ||
16 | - "value": "tomorrow", | ||
17 | - "synonyms": [ | ||
18 | - "tomorrow", | ||
19 | - "morgen" | ||
20 | - ] | ||
21 | - }, | ||
22 | - { | ||
23 | - "value": "dayaftertomorrow", | ||
24 | - "synonyms": [ | ||
25 | - "übermorgen", | ||
26 | - "day after tomorrow" | ||
27 | - ] | ||
28 | - }, | ||
29 | - { | ||
30 | - "value": "Montag", | ||
31 | - "synonyms": [ | ||
32 | - "Montag" | ||
33 | - ] | ||
34 | - }, | ||
35 | - { | ||
36 | - "value": "Dienstag", | ||
37 | - "synonyms": [ | ||
38 | - "Dienstag" | ||
39 | - ] | ||
40 | - }, | ||
41 | - { | ||
42 | - "value": "Mittwoch", | ||
43 | - "synonyms": [ | ||
44 | - "Mittwoch" | ||
45 | - ] | ||
46 | - }, | ||
47 | - { | ||
48 | - "value": "Donnerstag", | ||
49 | - "synonyms": [ | ||
50 | - "Donnerstag" | ||
51 | - ] | ||
52 | - }, | ||
53 | - { | ||
54 | - "value": "Freitag", | ||
55 | - "synonyms": [ | ||
56 | - "Freitag" | ||
57 | - ] | ||
58 | - }, | ||
59 | - { | ||
60 | - "value": "yesterday", | ||
61 | - "synonyms": [ | ||
62 | - "gestern", | ||
63 | - "yesterday" | ||
64 | - ] | ||
65 | - } | ||
66 | - ], | ||
67 | "isEnum": false, | 5 | "isEnum": false, |
68 | "automatedExpansion": false | 6 | "automatedExpansion": false |
69 | } | 7 | } |
70 | \ No newline at end of file | 8 | \ No newline at end of file |
docker/rasa_nlu/volumes/data/api/entities/date_entries_de.json
0 → 100755
1 | +[ | ||
2 | + { | ||
3 | + "value": "today", | ||
4 | + "synonyms": [ | ||
5 | + "today", | ||
6 | + "heute", | ||
7 | + "heut", | ||
8 | + "heutigen" | ||
9 | + ] | ||
10 | + }, | ||
11 | + { | ||
12 | + "value": "tomorrow", | ||
13 | + "synonyms": [ | ||
14 | + "tomorrow", | ||
15 | + "morgen" | ||
16 | + ] | ||
17 | + }, | ||
18 | + { | ||
19 | + "value": "dayaftertomorrow", | ||
20 | + "synonyms": [ | ||
21 | + "übermorgen", | ||
22 | + "day after tomorrow" | ||
23 | + ] | ||
24 | + }, | ||
25 | + { | ||
26 | + "value": "Montag", | ||
27 | + "synonyms": [ | ||
28 | + "Montag" | ||
29 | + ] | ||
30 | + }, | ||
31 | + { | ||
32 | + "value": "Dienstag", | ||
33 | + "synonyms": [ | ||
34 | + "Dienstag" | ||
35 | + ] | ||
36 | + }, | ||
37 | + { | ||
38 | + "value": "Mittwoch", | ||
39 | + "synonyms": [ | ||
40 | + "Mittwoch" | ||
41 | + ] | ||
42 | + }, | ||
43 | + { | ||
44 | + "value": "Donnerstag", | ||
45 | + "synonyms": [ | ||
46 | + "Donnerstag" | ||
47 | + ] | ||
48 | + }, | ||
49 | + { | ||
50 | + "value": "Freitag", | ||
51 | + "synonyms": [ | ||
52 | + "Freitag" | ||
53 | + ] | ||
54 | + }, | ||
55 | + { | ||
56 | + "value": "yesterday", | ||
57 | + "synonyms": [ | ||
58 | + "gestern", | ||
59 | + "yesterday" | ||
60 | + ] | ||
61 | + } | ||
62 | +] | ||
0 | \ No newline at end of file | 63 | \ No newline at end of file |
docker/rasa_nlu/volumes/data/api/entities/dishcategory.json
@@ -2,67 +2,6 @@ | @@ -2,67 +2,6 @@ | ||
2 | "id": "8a0a0ef7-e6b4-4abb-814d-482d5135bbec", | 2 | "id": "8a0a0ef7-e6b4-4abb-814d-482d5135bbec", |
3 | "name": "dishcategory", | 3 | "name": "dishcategory", |
4 | "isOverridable": true, | 4 | "isOverridable": true, |
5 | - "entries": [ | ||
6 | - { | ||
7 | - "value": "vorspeisen", | ||
8 | - "synonyms": [ | ||
9 | - "vorspeisen", | ||
10 | - "Vorspeise", | ||
11 | - "Vorspeisen" | ||
12 | - ] | ||
13 | - }, | ||
14 | - { | ||
15 | - "value": "salate", | ||
16 | - "synonyms": [ | ||
17 | - "salate", | ||
18 | - "Salat", | ||
19 | - "Salate" | ||
20 | - ] | ||
21 | - }, | ||
22 | - { | ||
23 | - "value": "suppen", | ||
24 | - "synonyms": [ | ||
25 | - "suppen", | ||
26 | - "Suppe", | ||
27 | - "Suppen" | ||
28 | - ] | ||
29 | - }, | ||
30 | - { | ||
31 | - "value": "aktionen", | ||
32 | - "synonyms": [ | ||
33 | - "aktionen", | ||
34 | - "Aktion", | ||
35 | - "Aktionen" | ||
36 | - ] | ||
37 | - }, | ||
38 | - { | ||
39 | - "value": "essen", | ||
40 | - "synonyms": [ | ||
41 | - "Hauptgerichte", | ||
42 | - "Hauptspeise", | ||
43 | - "Hauptspeisen" | ||
44 | - ] | ||
45 | - }, | ||
46 | - { | ||
47 | - "value": "beilagen", | ||
48 | - "synonyms": [ | ||
49 | - "beilagen", | ||
50 | - "Beilage", | ||
51 | - "Beilagen" | ||
52 | - ] | ||
53 | - }, | ||
54 | - { | ||
55 | - "value": "desserts", | ||
56 | - "synonyms": [ | ||
57 | - "desserts", | ||
58 | - "Dessert", | ||
59 | - "Nachspeise", | ||
60 | - "Nachtisch", | ||
61 | - "Nachspeisen", | ||
62 | - "Desserts" | ||
63 | - ] | ||
64 | - } | ||
65 | - ], | ||
66 | "isEnum": false, | 5 | "isEnum": false, |
67 | "automatedExpansion": false | 6 | "automatedExpansion": false |
68 | } | 7 | } |
69 | \ No newline at end of file | 8 | \ No newline at end of file |
docker/rasa_nlu/volumes/data/api/entities/dishcategory_entries_de.json
0 → 100755
1 | +[ | ||
2 | + { | ||
3 | + "value": "vorspeisen", | ||
4 | + "synonyms": [ | ||
5 | + "vorspeisen", | ||
6 | + "Vorspeise", | ||
7 | + "Vorspeisen" | ||
8 | + ] | ||
9 | + }, | ||
10 | + { | ||
11 | + "value": "salate", | ||
12 | + "synonyms": [ | ||
13 | + "salate", | ||
14 | + "Salat", | ||
15 | + "Salate" | ||
16 | + ] | ||
17 | + }, | ||
18 | + { | ||
19 | + "value": "suppen", | ||
20 | + "synonyms": [ | ||
21 | + "suppen", | ||
22 | + "Suppe", | ||
23 | + "Suppen" | ||
24 | + ] | ||
25 | + }, | ||
26 | + { | ||
27 | + "value": "aktionen", | ||
28 | + "synonyms": [ | ||
29 | + "aktionen", | ||
30 | + "Aktion", | ||
31 | + "Aktionen" | ||
32 | + ] | ||
33 | + }, | ||
34 | + { | ||
35 | + "value": "essen", | ||
36 | + "synonyms": [ | ||
37 | + "Hauptgerichte", | ||
38 | + "Hauptspeise", | ||
39 | + "Hauptspeisen" | ||
40 | + ] | ||
41 | + }, | ||
42 | + { | ||
43 | + "value": "beilagen", | ||
44 | + "synonyms": [ | ||
45 | + "beilagen", | ||
46 | + "Beilage", | ||
47 | + "Beilagen" | ||
48 | + ] | ||
49 | + }, | ||
50 | + { | ||
51 | + "value": "desserts", | ||
52 | + "synonyms": [ | ||
53 | + "desserts", | ||
54 | + "Dessert", | ||
55 | + "Nachspeise", | ||
56 | + "Nachtisch", | ||
57 | + "Nachspeisen", | ||
58 | + "Desserts" | ||
59 | + ] | ||
60 | + } | ||
61 | +] | ||
0 | \ No newline at end of file | 62 | \ No newline at end of file |
docker/rasa_nlu/volumes/data/api/entities/dishtype.json
@@ -2,34 +2,6 @@ | @@ -2,34 +2,6 @@ | ||
2 | "id": "4f3135fd-2367-4e89-8860-a80582f4523a", | 2 | "id": "4f3135fd-2367-4e89-8860-a80582f4523a", |
3 | "name": "dishtype", | 3 | "name": "dishtype", |
4 | "isOverridable": true, | 4 | "isOverridable": true, |
5 | - "entries": [ | ||
6 | - { | ||
7 | - "value": "vegan", | ||
8 | - "synonyms": [ | ||
9 | - "vegan", | ||
10 | - "veganes", | ||
11 | - "veganer", | ||
12 | - "vegane" | ||
13 | - ] | ||
14 | - }, | ||
15 | - { | ||
16 | - "value": "vegetarian", | ||
17 | - "synonyms": [ | ||
18 | - "vegetarisch", | ||
19 | - "vegetarisches", | ||
20 | - "vegetarier", | ||
21 | - "ohne Fleisch", | ||
22 | - "kein Fleisch", | ||
23 | - "vegetarische" | ||
24 | - ] | ||
25 | - }, | ||
26 | - { | ||
27 | - "value": "bio", | ||
28 | - "synonyms": [ | ||
29 | - "bio" | ||
30 | - ] | ||
31 | - } | ||
32 | - ], | ||
33 | "isEnum": false, | 5 | "isEnum": false, |
34 | "automatedExpansion": false | 6 | "automatedExpansion": false |
35 | } | 7 | } |
36 | \ No newline at end of file | 8 | \ No newline at end of file |
docker/rasa_nlu/volumes/data/api/entities/healthy.json
@@ -2,35 +2,6 @@ | @@ -2,35 +2,6 @@ | ||
2 | "id": "c61797ac-dedc-4881-8863-4c656eb47359", | 2 | "id": "c61797ac-dedc-4881-8863-4c656eb47359", |
3 | "name": "healthy", | 3 | "name": "healthy", |
4 | "isOverridable": true, | 4 | "isOverridable": true, |
5 | - "entries": [ | ||
6 | - { | ||
7 | - "value": "green", | ||
8 | - "synonyms": [ | ||
9 | - "grün", | ||
10 | - "gesund", | ||
11 | - "gesunde", | ||
12 | - "gesundes", | ||
13 | - "Gruen" | ||
14 | - ] | ||
15 | - }, | ||
16 | - { | ||
17 | - "value": "red", | ||
18 | - "synonyms": [ | ||
19 | - "rot", | ||
20 | - "ungesund", | ||
21 | - "ungesunde", | ||
22 | - "Ungesundes", | ||
23 | - "fettig" | ||
24 | - ] | ||
25 | - }, | ||
26 | - { | ||
27 | - "value": "yellow", | ||
28 | - "synonyms": [ | ||
29 | - "gelb", | ||
30 | - "gelbe" | ||
31 | - ] | ||
32 | - } | ||
33 | - ], | ||
34 | "isEnum": false, | 5 | "isEnum": false, |
35 | "automatedExpansion": false | 6 | "automatedExpansion": false |
36 | } | 7 | } |
37 | \ No newline at end of file | 8 | \ No newline at end of file |
docker/rasa_nlu/volumes/data/api/entities/ingredients.json
@@ -2,29 +2,6 @@ | @@ -2,29 +2,6 @@ | ||
2 | "id": "a940b7e1-44fe-4ec6-8a2f-e330821c6a07", | 2 | "id": "a940b7e1-44fe-4ec6-8a2f-e330821c6a07", |
3 | "name": "ingredients", | 3 | "name": "ingredients", |
4 | "isOverridable": true, | 4 | "isOverridable": true, |
5 | - "entries": [ | ||
6 | - { | ||
7 | - "value": "laktosefree", | ||
8 | - "synonyms": [ | ||
9 | - "laktosefrei", | ||
10 | - "ohne Laktose" | ||
11 | - ] | ||
12 | - }, | ||
13 | - { | ||
14 | - "value": "glutenfree", | ||
15 | - "synonyms": [ | ||
16 | - "glutenfrei", | ||
17 | - "ohne Gluten" | ||
18 | - ] | ||
19 | - }, | ||
20 | - { | ||
21 | - "value": "sugarfree", | ||
22 | - "synonyms": [ | ||
23 | - "zuckerfrei", | ||
24 | - "ohne Zucker" | ||
25 | - ] | ||
26 | - } | ||
27 | - ], | ||
28 | "isEnum": false, | 5 | "isEnum": false, |
29 | "automatedExpansion": false | 6 | "automatedExpansion": false |
30 | } | 7 | } |
31 | \ No newline at end of file | 8 | \ No newline at end of file |
docker/rasa_nlu/volumes/data/api/entities/price.json
@@ -2,24 +2,6 @@ | @@ -2,24 +2,6 @@ | ||
2 | "id": "92b3c202-7cd4-43b1-a9fb-856a20c2ff87", | 2 | "id": "92b3c202-7cd4-43b1-a9fb-856a20c2ff87", |
3 | "name": "price", | 3 | "name": "price", |
4 | "isOverridable": true, | 4 | "isOverridable": true, |
5 | - "entries": [ | ||
6 | - { | ||
7 | - "value": "howmuch", | ||
8 | - "synonyms": [ | ||
9 | - "howmuch", | ||
10 | - "Was kostet", | ||
11 | - "wie teuer" | ||
12 | - ] | ||
13 | - }, | ||
14 | - { | ||
15 | - "value": "under", | ||
16 | - "synonyms": [ | ||
17 | - "unter", | ||
18 | - "under", | ||
19 | - "weniger als" | ||
20 | - ] | ||
21 | - } | ||
22 | - ], | ||
23 | "isEnum": false, | 5 | "isEnum": false, |
24 | "automatedExpansion": false | 6 | "automatedExpansion": false |
25 | } | 7 | } |
26 | \ No newline at end of file | 8 | \ No newline at end of file |
docker/rasa_nlu/volumes/data/api/intents/Bye.json
1 | { | 1 | { |
2 | - "userSays": [ | ||
3 | - { | ||
4 | - "id": "96688a3e-5905-4a32-8887-99735525f0b5", | ||
5 | - "data": [ | ||
6 | - { | ||
7 | - "text": "Tschüss." | ||
8 | - } | ||
9 | - ], | ||
10 | - "isTemplate": false, | ||
11 | - "count": 0 | ||
12 | - }, | ||
13 | - { | ||
14 | - "id": "540dc163-d340-4ccf-ac32-2a4b46af9ad7", | ||
15 | - "data": [ | ||
16 | - { | ||
17 | - "text": "Bye", | ||
18 | - "userDefined": false | ||
19 | - } | ||
20 | - ], | ||
21 | - "isTemplate": false, | ||
22 | - "count": 1 | ||
23 | - }, | ||
24 | - { | ||
25 | - "id": "45422bce-8688-45e8-bcf0-88a4db4c3fb0", | ||
26 | - "data": [ | ||
27 | - { | ||
28 | - "text": "Auf Wiedersehen" | ||
29 | - } | ||
30 | - ], | ||
31 | - "isTemplate": false, | ||
32 | - "count": 0 | ||
33 | - }, | ||
34 | - { | ||
35 | - "id": "8ec89276-d8f4-4b92-bd5f-8d74e2fa7258", | ||
36 | - "data": [ | ||
37 | - { | ||
38 | - "text": "tschüss" | ||
39 | - } | ||
40 | - ], | ||
41 | - "isTemplate": false, | ||
42 | - "count": 0 | ||
43 | - }, | ||
44 | - { | ||
45 | - "id": "7667c3bf-c8ea-4628-a09c-84f9acbf5414", | ||
46 | - "data": [ | ||
47 | - { | ||
48 | - "text": "adieu" | ||
49 | - } | ||
50 | - ], | ||
51 | - "isTemplate": false, | ||
52 | - "count": 0 | ||
53 | - }, | ||
54 | - { | ||
55 | - "id": "daeb2cdc-a213-40b4-9dd1-3ad60f39d64a", | ||
56 | - "data": [ | ||
57 | - { | ||
58 | - "text": "ciao" | ||
59 | - } | ||
60 | - ], | ||
61 | - "isTemplate": false, | ||
62 | - "count": 0 | ||
63 | - }, | ||
64 | - { | ||
65 | - "id": "88a42bc6-db2f-4826-aea6-abb434ef07bb", | ||
66 | - "data": [ | ||
67 | - { | ||
68 | - "text": "lebe wohl" | ||
69 | - } | ||
70 | - ], | ||
71 | - "isTemplate": false, | ||
72 | - "count": 0 | ||
73 | - } | ||
74 | - ], | ||
75 | "id": "31c24025-1d89-4dab-8f61-fe14a0687129", | 2 | "id": "31c24025-1d89-4dab-8f61-fe14a0687129", |
76 | "name": "Bye", | 3 | "name": "Bye", |
77 | "auto": true, | 4 | "auto": true, |
@@ -84,10 +11,12 @@ | @@ -84,10 +11,12 @@ | ||
84 | "messages": [ | 11 | "messages": [ |
85 | { | 12 | { |
86 | "type": 0, | 13 | "type": 0, |
14 | + "lang": "de", | ||
87 | "speech": [] | 15 | "speech": [] |
88 | } | 16 | } |
89 | ], | 17 | ], |
90 | - "defaultResponsePlatforms": {} | 18 | + "defaultResponsePlatforms": {}, |
19 | + "speech": [] | ||
91 | } | 20 | } |
92 | ], | 21 | ], |
93 | "priority": 500000, | 22 | "priority": 500000, |
docker/rasa_nlu/volumes/data/api/intents/Fallback.json
1 | { | 1 | { |
2 | - "userSays": [], | ||
3 | "id": "27e9cc67-9092-47a7-a09a-04a876334133", | 2 | "id": "27e9cc67-9092-47a7-a09a-04a876334133", |
4 | "name": "Fallback", | 3 | "name": "Fallback", |
5 | "auto": false, | 4 | "auto": false, |
@@ -10,7 +9,8 @@ | @@ -10,7 +9,8 @@ | ||
10 | "affectedContexts": [], | 9 | "affectedContexts": [], |
11 | "parameters": [], | 10 | "parameters": [], |
12 | "messages": [], | 11 | "messages": [], |
13 | - "defaultResponsePlatforms": {} | 12 | + "defaultResponsePlatforms": {}, |
13 | + "speech": [] | ||
14 | } | 14 | } |
15 | ], | 15 | ], |
16 | "priority": 500000, | 16 | "priority": 500000, |
docker/rasa_nlu/volumes/data/api/intents/Hello.json
1 | { | 1 | { |
2 | - "userSays": [ | ||
3 | - { | ||
4 | - "id": "a46d8cf9-13f8-4f7e-a6b6-701b616d3b1b", | ||
5 | - "data": [ | ||
6 | - { | ||
7 | - "text": "Mahlzeit!" | ||
8 | - } | ||
9 | - ], | ||
10 | - "isTemplate": false, | ||
11 | - "count": 2 | ||
12 | - }, | ||
13 | - { | ||
14 | - "id": "7e2cb139-ac8c-48f8-937f-5e561d7a5b21", | ||
15 | - "data": [ | ||
16 | - { | ||
17 | - "text": "Hallo" | ||
18 | - } | ||
19 | - ], | ||
20 | - "isTemplate": false, | ||
21 | - "count": 1 | ||
22 | - }, | ||
23 | - { | ||
24 | - "id": "c071bead-c204-416b-b6ed-74965cb1f12c", | ||
25 | - "data": [ | ||
26 | - { | ||
27 | - "text": "Hallo bot." | ||
28 | - } | ||
29 | - ], | ||
30 | - "isTemplate": false, | ||
31 | - "count": 0 | ||
32 | - }, | ||
33 | - { | ||
34 | - "id": "6aec7f9f-1ea8-4004-a6e2-eb0dd8274d5f", | ||
35 | - "data": [ | ||
36 | - { | ||
37 | - "text": "hallo" | ||
38 | - } | ||
39 | - ], | ||
40 | - "isTemplate": false, | ||
41 | - "count": 7 | ||
42 | - }, | ||
43 | - { | ||
44 | - "id": "55cd7273-87cf-472a-89b7-2664fd45982c", | ||
45 | - "data": [ | ||
46 | - { | ||
47 | - "text": "Hallo Bot", | ||
48 | - "userDefined": false | ||
49 | - } | ||
50 | - ], | ||
51 | - "isTemplate": false, | ||
52 | - "count": 0 | ||
53 | - }, | ||
54 | - { | ||
55 | - "id": "fe2d3681-3461-4e71-a80a-f3755d03db89", | ||
56 | - "data": [ | ||
57 | - { | ||
58 | - "text": "Hallo du", | ||
59 | - "userDefined": false | ||
60 | - } | ||
61 | - ], | ||
62 | - "isTemplate": false, | ||
63 | - "count": 0 | ||
64 | - }, | ||
65 | - { | ||
66 | - "id": "f39e8b17-6baf-4a7f-a130-029ed0486190", | ||
67 | - "data": [ | ||
68 | - { | ||
69 | - "text": "Heyho" | ||
70 | - } | ||
71 | - ], | ||
72 | - "isTemplate": false, | ||
73 | - "count": 2 | ||
74 | - }, | ||
75 | - { | ||
76 | - "id": "8a034279-2ae7-41f8-ace2-0be60fc11843", | ||
77 | - "data": [ | ||
78 | - { | ||
79 | - "text": "Hallo Welt" | ||
80 | - } | ||
81 | - ], | ||
82 | - "isTemplate": false, | ||
83 | - "count": 0 | ||
84 | - }, | ||
85 | - { | ||
86 | - "id": "27ade6fd-22a8-4026-80a0-dc464a133e5d", | ||
87 | - "data": [ | ||
88 | - { | ||
89 | - "text": "Guten Tag" | ||
90 | - } | ||
91 | - ], | ||
92 | - "isTemplate": false, | ||
93 | - "count": 1 | ||
94 | - }, | ||
95 | - { | ||
96 | - "id": "8251e097-7f65-46c8-82d7-4521360823f8", | ||
97 | - "data": [ | ||
98 | - { | ||
99 | - "text": "Hello", | ||
100 | - "userDefined": false | ||
101 | - } | ||
102 | - ], | ||
103 | - "isTemplate": false, | ||
104 | - "count": 1 | ||
105 | - }, | ||
106 | - { | ||
107 | - "id": "7c16e6f9-df2c-44f7-ba9a-36315a5e9f47", | ||
108 | - "data": [ | ||
109 | - { | ||
110 | - "text": "Hello Bot", | ||
111 | - "userDefined": false | ||
112 | - } | ||
113 | - ], | ||
114 | - "isTemplate": false, | ||
115 | - "count": 0 | ||
116 | - }, | ||
117 | - { | ||
118 | - "id": "535a9275-ab39-43f9-87df-431be10d09d5", | ||
119 | - "data": [ | ||
120 | - { | ||
121 | - "text": "Tag" | ||
122 | - } | ||
123 | - ], | ||
124 | - "isTemplate": false, | ||
125 | - "count": 0 | ||
126 | - }, | ||
127 | - { | ||
128 | - "id": "df882ea3-1cdb-4797-8d70-c3b661839f9b", | ||
129 | - "data": [ | ||
130 | - { | ||
131 | - "text": "Servus" | ||
132 | - } | ||
133 | - ], | ||
134 | - "isTemplate": false, | ||
135 | - "count": 0 | ||
136 | - }, | ||
137 | - { | ||
138 | - "id": "0aa700e1-6b51-4921-8c2d-c294ef7769cd", | ||
139 | - "data": [ | ||
140 | - { | ||
141 | - "text": "Moin" | ||
142 | - } | ||
143 | - ], | ||
144 | - "isTemplate": false, | ||
145 | - "count": 0 | ||
146 | - }, | ||
147 | - { | ||
148 | - "id": "9b7d796f-7c54-40f8-a04f-ceaea25d9b94", | ||
149 | - "data": [ | ||
150 | - { | ||
151 | - "text": "Hi" | ||
152 | - } | ||
153 | - ], | ||
154 | - "isTemplate": false, | ||
155 | - "count": 0 | ||
156 | - } | ||
157 | - ], | ||
158 | "id": "298d49fa-5122-430d-bd63-ee2d4316274d", | 2 | "id": "298d49fa-5122-430d-bd63-ee2d4316274d", |
159 | "name": "Hello", | 3 | "name": "Hello", |
160 | "auto": true, | 4 | "auto": true, |
@@ -167,10 +11,12 @@ | @@ -167,10 +11,12 @@ | ||
167 | "messages": [ | 11 | "messages": [ |
168 | { | 12 | { |
169 | "type": 0, | 13 | "type": 0, |
14 | + "lang": "de", | ||
170 | "speech": [] | 15 | "speech": [] |
171 | } | 16 | } |
172 | ], | 17 | ], |
173 | - "defaultResponsePlatforms": {} | 18 | + "defaultResponsePlatforms": {}, |
19 | + "speech": [] | ||
174 | } | 20 | } |
175 | ], | 21 | ], |
176 | "priority": 500000, | 22 | "priority": 500000, |
docker/rasa_nlu/volumes/data/api/intents/Start.json
1 | { | 1 | { |
2 | - "userSays": [ | ||
3 | - { | ||
4 | - "id": "999fcf31-211e-4c43-a48c-200b2cc4ad0f", | ||
5 | - "data": [ | ||
6 | - { | ||
7 | - "text": "start", | ||
8 | - "userDefined": false | ||
9 | - } | ||
10 | - ], | ||
11 | - "isTemplate": false, | ||
12 | - "count": 1 | ||
13 | - }, | ||
14 | - { | ||
15 | - "id": "b0d6aef8-fa8d-4151-b1f2-41162374f60d", | ||
16 | - "data": [ | ||
17 | - { | ||
18 | - "text": "/start" | ||
19 | - } | ||
20 | - ], | ||
21 | - "isTemplate": false, | ||
22 | - "count": 1 | ||
23 | - }, | ||
24 | - { | ||
25 | - "id": "a775b2f8-984a-4e4f-be8e-92dcf9d426a9", | ||
26 | - "data": [ | ||
27 | - { | ||
28 | - "text": "Start" | ||
29 | - } | ||
30 | - ], | ||
31 | - "isTemplate": false, | ||
32 | - "count": 1 | ||
33 | - } | ||
34 | - ], | ||
35 | "id": "fd44ae16-5a7d-40d6-9216-cf528db47b93", | 2 | "id": "fd44ae16-5a7d-40d6-9216-cf528db47b93", |
36 | "name": "Start", | 3 | "name": "Start", |
37 | "auto": true, | 4 | "auto": true, |
@@ -44,9 +11,12 @@ | @@ -44,9 +11,12 @@ | ||
44 | "messages": [ | 11 | "messages": [ |
45 | { | 12 | { |
46 | "type": 0, | 13 | "type": 0, |
14 | + "lang": "de", | ||
47 | "speech": [] | 15 | "speech": [] |
48 | } | 16 | } |
49 | - ] | 17 | + ], |
18 | + "defaultResponsePlatforms": {}, | ||
19 | + "speech": [] | ||
50 | } | 20 | } |
51 | ], | 21 | ], |
52 | "priority": 500000, | 22 | "priority": 500000, |
docker/rasa_nlu/volumes/data/api/intents/showFood.json
1 | { | 1 | { |
2 | - "userSays": [ | ||
3 | - { | ||
4 | - "id": "fd32ca0d-bb7f-4d03-b1c8-5ad41ae4847a", | ||
5 | - "data": [ | ||
6 | - { | ||
7 | - "text": "Bitte nur " | ||
8 | - }, | ||
9 | - { | ||
10 | - "text": "vegetarisches", | ||
11 | - "alias": "dishtype", | ||
12 | - "meta": "@dishtype", | ||
13 | - "userDefined": false | ||
14 | - } | ||
15 | - ], | ||
16 | - "isTemplate": false, | ||
17 | - "count": 0 | ||
18 | - }, | ||
19 | - { | ||
20 | - "id": "7b2cce20-9ea4-4532-90f6-d86374d4ece6", | ||
21 | - "data": [ | ||
22 | - { | ||
23 | - "text": "Schön " | ||
24 | - }, | ||
25 | - { | ||
26 | - "text": "fettig", | ||
27 | - "alias": "healthy", | ||
28 | - "meta": "@healthy", | ||
29 | - "userDefined": false | ||
30 | - } | ||
31 | - ], | ||
32 | - "isTemplate": false, | ||
33 | - "count": 0 | ||
34 | - }, | ||
35 | - { | ||
36 | - "id": "56891d52-fe5c-4669-b4f4-20d394d0f291", | ||
37 | - "data": [ | ||
38 | - { | ||
39 | - "text": "was gibt\u0027s zum " | ||
40 | - }, | ||
41 | - { | ||
42 | - "text": "Nachtisch", | ||
43 | - "alias": "dishcategory", | ||
44 | - "meta": "@dishcategory", | ||
45 | - "userDefined": false | ||
46 | - }, | ||
47 | - { | ||
48 | - "text": "?" | ||
49 | - } | ||
50 | - ], | ||
51 | - "isTemplate": false, | ||
52 | - "count": 0 | ||
53 | - }, | ||
54 | - { | ||
55 | - "id": "b85b0135-3a69-4564-9fea-d6dc168673c5", | ||
56 | - "data": [ | ||
57 | - { | ||
58 | - "text": "Was gibt es " | ||
59 | - }, | ||
60 | - { | ||
61 | - "text": "gesundes", | ||
62 | - "alias": "healthy", | ||
63 | - "meta": "@healthy", | ||
64 | - "userDefined": false | ||
65 | - } | ||
66 | - ], | ||
67 | - "isTemplate": false, | ||
68 | - "count": 0 | ||
69 | - }, | ||
70 | - { | ||
71 | - "id": "86306079-6fb2-4a85-a024-a415f67d17c2", | ||
72 | - "data": [ | ||
73 | - { | ||
74 | - "text": "Wat gibts " | ||
75 | - }, | ||
76 | - { | ||
77 | - "text": "gesundes", | ||
78 | - "alias": "healthy", | ||
79 | - "meta": "@healthy", | ||
80 | - "userDefined": false | ||
81 | - } | ||
82 | - ], | ||
83 | - "isTemplate": false, | ||
84 | - "count": 0 | ||
85 | - }, | ||
86 | - { | ||
87 | - "id": "d3bddb57-2a96-42d4-9517-2fe39b7eb81b", | ||
88 | - "data": [ | ||
89 | - { | ||
90 | - "text": "Ick hab Knast" | ||
91 | - } | ||
92 | - ], | ||
93 | - "isTemplate": false, | ||
94 | - "count": 0 | ||
95 | - }, | ||
96 | - { | ||
97 | - "id": "762b3473-f577-4b6f-9130-4cc36c9fea6c", | ||
98 | - "data": [ | ||
99 | - { | ||
100 | - "text": "Man...! Sach mir was es zu " | ||
101 | - }, | ||
102 | - { | ||
103 | - "text": "essen", | ||
104 | - "meta": "@sys.ignore", | ||
105 | - "userDefined": false | ||
106 | - }, | ||
107 | - { | ||
108 | - "text": " gibt!" | ||
109 | - } | ||
110 | - ], | ||
111 | - "isTemplate": false, | ||
112 | - "count": 0 | ||
113 | - }, | ||
114 | - { | ||
115 | - "id": "024e9b2b-6030-4e71-8a26-c1b2dcd302d2", | ||
116 | - "data": [ | ||
117 | - { | ||
118 | - "text": "Zeig mir " | ||
119 | - }, | ||
120 | - { | ||
121 | - "text": "futter", | ||
122 | - "meta": "@sys.ignore", | ||
123 | - "userDefined": false | ||
124 | - } | ||
125 | - ], | ||
126 | - "isTemplate": false, | ||
127 | - "count": 0 | ||
128 | - }, | ||
129 | - { | ||
130 | - "id": "37884b73-ef5c-4788-8286-48741d1687ab", | ||
131 | - "data": [ | ||
132 | - { | ||
133 | - "text": "Was gibbet" | ||
134 | - } | ||
135 | - ], | ||
136 | - "isTemplate": false, | ||
137 | - "count": 0 | ||
138 | - }, | ||
139 | - { | ||
140 | - "id": "900ae728-5008-4ac1-a27e-9a5663b1f8a0", | ||
141 | - "data": [ | ||
142 | - { | ||
143 | - "text": "Grün", | ||
144 | - "alias": "healthy", | ||
145 | - "meta": "@healthy", | ||
146 | - "userDefined": false | ||
147 | - } | ||
148 | - ], | ||
149 | - "isTemplate": false, | ||
150 | - "count": 0 | ||
151 | - }, | ||
152 | - { | ||
153 | - "id": "add47ed0-8ef8-4ff9-90e6-acdc33ea4b3c", | ||
154 | - "data": [ | ||
155 | - { | ||
156 | - "text": "Was gibt es " | ||
157 | - }, | ||
158 | - { | ||
159 | - "text": "heute", | ||
160 | - "alias": "date", | ||
161 | - "meta": "@date", | ||
162 | - "userDefined": false | ||
163 | - }, | ||
164 | - { | ||
165 | - "text": " zu Essen?" | ||
166 | - } | ||
167 | - ], | ||
168 | - "isTemplate": false, | ||
169 | - "count": 0 | ||
170 | - }, | ||
171 | - { | ||
172 | - "id": "76068d03-8dfa-4053-a4d7-f9580d7c1269", | ||
173 | - "data": [ | ||
174 | - { | ||
175 | - "text": "Gibt es irgendetwas " | ||
176 | - }, | ||
177 | - { | ||
178 | - "text": "vegetarisches", | ||
179 | - "alias": "dishtype", | ||
180 | - "meta": "@dishtype", | ||
181 | - "userDefined": false | ||
182 | - }, | ||
183 | - { | ||
184 | - "text": "?" | ||
185 | - } | ||
186 | - ], | ||
187 | - "isTemplate": false, | ||
188 | - "count": 0 | ||
189 | - }, | ||
190 | - { | ||
191 | - "id": "4fe7e652-929b-4a3b-840b-b24e1ecb9fcc", | ||
192 | - "data": [ | ||
193 | - { | ||
194 | - "text": "Was gibt es " | ||
195 | - }, | ||
196 | - { | ||
197 | - "text": "morgen", | ||
198 | - "alias": "date", | ||
199 | - "meta": "@date", | ||
200 | - "userDefined": false | ||
201 | - }, | ||
202 | - { | ||
203 | - "text": " " | ||
204 | - }, | ||
205 | - { | ||
206 | - "text": "veganes", | ||
207 | - "alias": "dishtype", | ||
208 | - "meta": "@dishtype", | ||
209 | - "userDefined": false | ||
210 | - }, | ||
211 | - { | ||
212 | - "text": "?" | ||
213 | - } | ||
214 | - ], | ||
215 | - "isTemplate": false, | ||
216 | - "count": 0 | ||
217 | - }, | ||
218 | - { | ||
219 | - "id": "7bac360a-65db-4698-b9fc-81024a052f7c", | ||
220 | - "data": [ | ||
221 | - { | ||
222 | - "text": "Was gibt es für " | ||
223 | - }, | ||
224 | - { | ||
225 | - "text": "Suppen", | ||
226 | - "alias": "dishcategory", | ||
227 | - "meta": "@dishcategory", | ||
228 | - "userDefined": false | ||
229 | - } | ||
230 | - ], | ||
231 | - "isTemplate": false, | ||
232 | - "count": 0 | ||
233 | - }, | ||
234 | - { | ||
235 | - "id": "1407d888-0d5a-451b-8d30-6c804dec373c", | ||
236 | - "data": [ | ||
237 | - { | ||
238 | - "text": "Welche " | ||
239 | - }, | ||
240 | - { | ||
241 | - "text": "Vorspeisen", | ||
242 | - "alias": "dishcategory", | ||
243 | - "meta": "@dishcategory", | ||
244 | - "userDefined": false | ||
245 | - }, | ||
246 | - { | ||
247 | - "text": " gibt es " | ||
248 | - }, | ||
249 | - { | ||
250 | - "text": "heute", | ||
251 | - "alias": "date", | ||
252 | - "meta": "@date", | ||
253 | - "userDefined": false | ||
254 | - }, | ||
255 | - { | ||
256 | - "text": "?" | ||
257 | - } | ||
258 | - ], | ||
259 | - "isTemplate": false, | ||
260 | - "count": 0 | ||
261 | - }, | ||
262 | - { | ||
263 | - "id": "d7fc8387-d1c6-4ed2-aeeb-a12466ebb7bb", | ||
264 | - "data": [ | ||
265 | - { | ||
266 | - "text": "Was gibt es " | ||
267 | - }, | ||
268 | - { | ||
269 | - "text": "heute", | ||
270 | - "alias": "date", | ||
271 | - "meta": "@date", | ||
272 | - "userDefined": false | ||
273 | - }, | ||
274 | - { | ||
275 | - "text": " zu essen?" | ||
276 | - } | ||
277 | - ], | ||
278 | - "isTemplate": false, | ||
279 | - "count": 0 | ||
280 | - }, | ||
281 | - { | ||
282 | - "id": "3589c50d-8ec0-4276-aa21-a88145530ddb", | ||
283 | - "data": [ | ||
284 | - { | ||
285 | - "text": "Was gibt es zu essen?" | ||
286 | - } | ||
287 | - ], | ||
288 | - "isTemplate": false, | ||
289 | - "count": 0 | ||
290 | - }, | ||
291 | - { | ||
292 | - "id": "1f9d235d-eaae-4999-b5d2-0d19720e90e9", | ||
293 | - "data": [ | ||
294 | - { | ||
295 | - "text": "Zeige mir " | ||
296 | - }, | ||
297 | - { | ||
298 | - "text": "gesunde", | ||
299 | - "alias": "healthy", | ||
300 | - "meta": "@healthy", | ||
301 | - "userDefined": true | ||
302 | - }, | ||
303 | - { | ||
304 | - "text": " " | ||
305 | - }, | ||
306 | - { | ||
307 | - "text": "Hauptgerichte", | ||
308 | - "alias": "dishcategory", | ||
309 | - "meta": "@dishcategory", | ||
310 | - "userDefined": true | ||
311 | - }, | ||
312 | - { | ||
313 | - "text": " " | ||
314 | - }, | ||
315 | - { | ||
316 | - "text": "unter", | ||
317 | - "alias": "price", | ||
318 | - "meta": "@price", | ||
319 | - "userDefined": true | ||
320 | - }, | ||
321 | - { | ||
322 | - "text": " " | ||
323 | - }, | ||
324 | - { | ||
325 | - "text": "5", | ||
326 | - "meta": "@sys.ignore", | ||
327 | - "userDefined": true | ||
328 | - }, | ||
329 | - { | ||
330 | - "text": " Euro" | ||
331 | - } | ||
332 | - ], | ||
333 | - "isTemplate": false, | ||
334 | - "count": 0 | ||
335 | - }, | ||
336 | - { | ||
337 | - "id": "8efb4896-f4ff-4864-af90-7e2b594afd4a", | ||
338 | - "data": [ | ||
339 | - { | ||
340 | - "text": "Gibt es " | ||
341 | - }, | ||
342 | - { | ||
343 | - "text": "heute", | ||
344 | - "alias": "date", | ||
345 | - "meta": "@date", | ||
346 | - "userDefined": true | ||
347 | - }, | ||
348 | - { | ||
349 | - "text": " " | ||
350 | - }, | ||
351 | - { | ||
352 | - "text": "Hauptgerichte", | ||
353 | - "alias": "dishcategory", | ||
354 | - "meta": "@dishcategory", | ||
355 | - "userDefined": true | ||
356 | - }, | ||
357 | - { | ||
358 | - "text": "?" | ||
359 | - } | ||
360 | - ], | ||
361 | - "isTemplate": false, | ||
362 | - "count": 0 | ||
363 | - }, | ||
364 | - { | ||
365 | - "id": "daab71ce-3882-42e9-8749-30cb4e1b41ee", | ||
366 | - "data": [ | ||
367 | - { | ||
368 | - "text": "Gibt es " | ||
369 | - }, | ||
370 | - { | ||
371 | - "text": "heute", | ||
372 | - "alias": "date", | ||
373 | - "meta": "@date", | ||
374 | - "userDefined": true | ||
375 | - }, | ||
376 | - { | ||
377 | - "text": " " | ||
378 | - }, | ||
379 | - { | ||
380 | - "text": "vegetarische", | ||
381 | - "alias": "dishtype", | ||
382 | - "meta": "@dishtype", | ||
383 | - "userDefined": true | ||
384 | - }, | ||
385 | - { | ||
386 | - "text": " " | ||
387 | - }, | ||
388 | - { | ||
389 | - "text": "Hauptgerichte", | ||
390 | - "alias": "dishcategory", | ||
391 | - "meta": "@dishcategory", | ||
392 | - "userDefined": true | ||
393 | - }, | ||
394 | - { | ||
395 | - "text": "?" | ||
396 | - } | ||
397 | - ], | ||
398 | - "isTemplate": false, | ||
399 | - "count": 0 | ||
400 | - }, | ||
401 | - { | ||
402 | - "id": "ca1f84cc-504e-4c2c-9ba4-b6917653d396", | ||
403 | - "data": [ | ||
404 | - { | ||
405 | - "text": "Was für " | ||
406 | - }, | ||
407 | - { | ||
408 | - "text": "Hauptgerichte", | ||
409 | - "alias": "dishcategory", | ||
410 | - "meta": "@dishcategory", | ||
411 | - "userDefined": true | ||
412 | - }, | ||
413 | - { | ||
414 | - "text": " gibt es " | ||
415 | - }, | ||
416 | - { | ||
417 | - "text": "heute", | ||
418 | - "alias": "date", | ||
419 | - "meta": "@date", | ||
420 | - "userDefined": true | ||
421 | - }, | ||
422 | - { | ||
423 | - "text": "?" | ||
424 | - } | ||
425 | - ], | ||
426 | - "isTemplate": false, | ||
427 | - "count": 0 | ||
428 | - }, | ||
429 | - { | ||
430 | - "id": "3635fca1-e08b-49e2-93f5-754244a0b895", | ||
431 | - "data": [ | ||
432 | - { | ||
433 | - "text": "Zeige mir " | ||
434 | - }, | ||
435 | - { | ||
436 | - "text": "Suppen", | ||
437 | - "alias": "dishcategory", | ||
438 | - "meta": "@dishcategory", | ||
439 | - "userDefined": true | ||
440 | - }, | ||
441 | - { | ||
442 | - "text": " für " | ||
443 | - }, | ||
444 | - { | ||
445 | - "text": "weniger als", | ||
446 | - "alias": "price", | ||
447 | - "meta": "@price", | ||
448 | - "userDefined": true | ||
449 | - }, | ||
450 | - { | ||
451 | - "text": " " | ||
452 | - }, | ||
453 | - { | ||
454 | - "text": "2", | ||
455 | - "meta": "@sys.ignore", | ||
456 | - "userDefined": true | ||
457 | - }, | ||
458 | - { | ||
459 | - "text": "€" | ||
460 | - } | ||
461 | - ], | ||
462 | - "isTemplate": false, | ||
463 | - "count": 0 | ||
464 | - }, | ||
465 | - { | ||
466 | - "id": "68051902-f5a0-4c6e-8233-f390cd37299e", | ||
467 | - "data": [ | ||
468 | - { | ||
469 | - "text": "Zeige " | ||
470 | - }, | ||
471 | - { | ||
472 | - "text": "Hauptgerichte", | ||
473 | - "alias": "dishcategory", | ||
474 | - "meta": "@dishcategory", | ||
475 | - "userDefined": true | ||
476 | - }, | ||
477 | - { | ||
478 | - "text": " unter " | ||
479 | - }, | ||
480 | - { | ||
481 | - "text": "5", | ||
482 | - "meta": "@sys.ignore", | ||
483 | - "userDefined": true | ||
484 | - }, | ||
485 | - { | ||
486 | - "text": " Euro" | ||
487 | - } | ||
488 | - ], | ||
489 | - "isTemplate": false, | ||
490 | - "count": 0 | ||
491 | - }, | ||
492 | - { | ||
493 | - "id": "76436c32-a320-4e39-929e-74fd301ea362", | ||
494 | - "data": [ | ||
495 | - { | ||
496 | - "text": "Was kostet " | ||
497 | - }, | ||
498 | - { | ||
499 | - "text": "weniger als", | ||
500 | - "alias": "price", | ||
501 | - "meta": "@price", | ||
502 | - "userDefined": true | ||
503 | - }, | ||
504 | - { | ||
505 | - "text": " " | ||
506 | - }, | ||
507 | - { | ||
508 | - "text": "5", | ||
509 | - "meta": "@sys.ignore", | ||
510 | - "userDefined": true | ||
511 | - }, | ||
512 | - { | ||
513 | - "text": "€?" | ||
514 | - } | ||
515 | - ], | ||
516 | - "isTemplate": false, | ||
517 | - "count": 0 | ||
518 | - }, | ||
519 | - { | ||
520 | - "id": "fcd4493e-a39e-457b-801b-9514d4312b8c", | ||
521 | - "data": [ | ||
522 | - { | ||
523 | - "text": "Was gibt es heute in der Mensa " | ||
524 | - }, | ||
525 | - { | ||
526 | - "text": "unter", | ||
527 | - "alias": "price", | ||
528 | - "meta": "@price", | ||
529 | - "userDefined": true | ||
530 | - }, | ||
531 | - { | ||
532 | - "text": " " | ||
533 | - }, | ||
534 | - { | ||
535 | - "text": "2", | ||
536 | - "meta": "@sys.ignore", | ||
537 | - "userDefined": true | ||
538 | - }, | ||
539 | - { | ||
540 | - "text": " Euro?" | ||
541 | - } | ||
542 | - ], | ||
543 | - "isTemplate": false, | ||
544 | - "count": 0 | ||
545 | - }, | ||
546 | - { | ||
547 | - "id": "c7bccc6f-4bcd-43a7-bf82-6edf055fb9f1", | ||
548 | - "data": [ | ||
549 | - { | ||
550 | - "text": "Wie teuer", | ||
551 | - "alias": "price", | ||
552 | - "meta": "@price", | ||
553 | - "userDefined": true | ||
554 | - }, | ||
555 | - { | ||
556 | - "text": " ist ein großer " | ||
557 | - }, | ||
558 | - { | ||
559 | - "text": "Salat", | ||
560 | - "alias": "dishcategory", | ||
561 | - "meta": "@dishcategory", | ||
562 | - "userDefined": true | ||
563 | - }, | ||
564 | - { | ||
565 | - "text": "?" | ||
566 | - } | ||
567 | - ], | ||
568 | - "isTemplate": false, | ||
569 | - "count": 0 | ||
570 | - }, | ||
571 | - { | ||
572 | - "id": "76d924f8-3ebb-452b-834b-a701d0294112", | ||
573 | - "data": [ | ||
574 | - { | ||
575 | - "text": "Was gibt es " | ||
576 | - }, | ||
577 | - { | ||
578 | - "text": "über morgen", | ||
579 | - "alias": "date", | ||
580 | - "meta": "@date", | ||
581 | - "userDefined": true | ||
582 | - }, | ||
583 | - { | ||
584 | - "text": " in der Mensa?" | ||
585 | - } | ||
586 | - ], | ||
587 | - "isTemplate": false, | ||
588 | - "count": 1 | ||
589 | - }, | ||
590 | - { | ||
591 | - "id": "03c11ea5-acca-4903-aee3-12ccc005fd27", | ||
592 | - "data": [ | ||
593 | - { | ||
594 | - "text": "Was gibt es " | ||
595 | - }, | ||
596 | - { | ||
597 | - "text": "morgen", | ||
598 | - "alias": "date", | ||
599 | - "meta": "@date", | ||
600 | - "userDefined": true | ||
601 | - }, | ||
602 | - { | ||
603 | - "text": " zu essen?" | ||
604 | - } | ||
605 | - ], | ||
606 | - "isTemplate": false, | ||
607 | - "count": 0 | ||
608 | - }, | ||
609 | - { | ||
610 | - "id": "659ad693-d0bf-4586-a831-fb9fd83d2f57", | ||
611 | - "data": [ | ||
612 | - { | ||
613 | - "text": "Was gibt es am " | ||
614 | - }, | ||
615 | - { | ||
616 | - "text": "Dienstag", | ||
617 | - "alias": "date", | ||
618 | - "meta": "@date", | ||
619 | - "userDefined": true | ||
620 | - }, | ||
621 | - { | ||
622 | - "text": " zu essen?" | ||
623 | - } | ||
624 | - ], | ||
625 | - "isTemplate": false, | ||
626 | - "count": 0 | ||
627 | - }, | ||
628 | - { | ||
629 | - "id": "dbfd7a39-dd3c-4d67-8190-5293d17efb72", | ||
630 | - "data": [ | ||
631 | - { | ||
632 | - "text": "Was kostet", | ||
633 | - "alias": "price", | ||
634 | - "meta": "@price", | ||
635 | - "userDefined": true | ||
636 | - }, | ||
637 | - { | ||
638 | - "text": " die " | ||
639 | - }, | ||
640 | - { | ||
641 | - "text": "Currywurst", | ||
642 | - "alias": "ingredients", | ||
643 | - "meta": "@ingredients", | ||
644 | - "userDefined": true | ||
645 | - }, | ||
646 | - { | ||
647 | - "text": "?" | ||
648 | - } | ||
649 | - ], | ||
650 | - "isTemplate": false, | ||
651 | - "count": 0 | ||
652 | - }, | ||
653 | - { | ||
654 | - "id": "e5883e1d-4fba-457a-93d1-8c42827864f3", | ||
655 | - "data": [ | ||
656 | - { | ||
657 | - "text": "Habe Lust auf " | ||
658 | - }, | ||
659 | - { | ||
660 | - "text": "Suppe", | ||
661 | - "alias": "dishcategory", | ||
662 | - "meta": "@dishcategory", | ||
663 | - "userDefined": true | ||
664 | - }, | ||
665 | - { | ||
666 | - "text": ". Gibt es da heute was?" | ||
667 | - } | ||
668 | - ], | ||
669 | - "isTemplate": false, | ||
670 | - "count": 0 | ||
671 | - }, | ||
672 | - { | ||
673 | - "id": "9133cd15-77ae-456d-b645-f4cb006a6e88", | ||
674 | - "data": [ | ||
675 | - { | ||
676 | - "text": "was gibt es " | ||
677 | - }, | ||
678 | - { | ||
679 | - "text": "heute", | ||
680 | - "alias": "date", | ||
681 | - "meta": "@date", | ||
682 | - "userDefined": false | ||
683 | - }, | ||
684 | - { | ||
685 | - "text": " in der mensa" | ||
686 | - } | ||
687 | - ], | ||
688 | - "isTemplate": false, | ||
689 | - "count": 23 | ||
690 | - }, | ||
691 | - { | ||
692 | - "id": "d9491ecb-a4ef-4890-8c11-e1a74e3f6821", | ||
693 | - "data": [ | ||
694 | - { | ||
695 | - "text": "was gibt es " | ||
696 | - }, | ||
697 | - { | ||
698 | - "text": "heute", | ||
699 | - "alias": "date", | ||
700 | - "meta": "@date", | ||
701 | - "userDefined": false | ||
702 | - }, | ||
703 | - { | ||
704 | - "text": " " | ||
705 | - }, | ||
706 | - { | ||
707 | - "text": "veganes", | ||
708 | - "alias": "dishtype", | ||
709 | - "meta": "@dishtype", | ||
710 | - "userDefined": false | ||
711 | - }, | ||
712 | - { | ||
713 | - "text": " in der mensa" | ||
714 | - } | ||
715 | - ], | ||
716 | - "isTemplate": false, | ||
717 | - "count": 4 | ||
718 | - }, | ||
719 | - { | ||
720 | - "id": "23bbbd06-8919-49b4-8b77-f4f7167a71fa", | ||
721 | - "data": [ | ||
722 | - { | ||
723 | - "text": "Was gibt es " | ||
724 | - }, | ||
725 | - { | ||
726 | - "text": "morgen", | ||
727 | - "alias": "date", | ||
728 | - "meta": "@date", | ||
729 | - "userDefined": false | ||
730 | - }, | ||
731 | - { | ||
732 | - "text": " für " | ||
733 | - }, | ||
734 | - { | ||
735 | - "text": "vegane", | ||
736 | - "alias": "dishtype", | ||
737 | - "meta": "@dishtype", | ||
738 | - "userDefined": true | ||
739 | - }, | ||
740 | - { | ||
741 | - "text": " Gerichte?" | ||
742 | - } | ||
743 | - ], | ||
744 | - "isTemplate": false, | ||
745 | - "count": 2 | ||
746 | - }, | ||
747 | - { | ||
748 | - "id": "d288cb87-12fc-4875-947d-71d6094690ab", | ||
749 | - "data": [ | ||
750 | - { | ||
751 | - "text": "Was gibt es " | ||
752 | - }, | ||
753 | - { | ||
754 | - "text": "heute", | ||
755 | - "alias": "date", | ||
756 | - "meta": "@date", | ||
757 | - "userDefined": false | ||
758 | - }, | ||
759 | - { | ||
760 | - "text": " " | ||
761 | - }, | ||
762 | - { | ||
763 | - "text": "vegetarisches", | ||
764 | - "alias": "dishtype", | ||
765 | - "meta": "@dishtype", | ||
766 | - "userDefined": true | ||
767 | - }, | ||
768 | - { | ||
769 | - "text": " in der Mensa?" | ||
770 | - } | ||
771 | - ], | ||
772 | - "isTemplate": false, | ||
773 | - "count": 1 | ||
774 | - }, | ||
775 | - { | ||
776 | - "id": "65af4b91-d76c-4c98-a1d4-5dda5534a374", | ||
777 | - "data": [ | ||
778 | - { | ||
779 | - "text": "Hallo Bot was gibt es " | ||
780 | - }, | ||
781 | - { | ||
782 | - "text": "morgen", | ||
783 | - "alias": "date", | ||
784 | - "meta": "@date", | ||
785 | - "userDefined": false | ||
786 | - }, | ||
787 | - { | ||
788 | - "text": " in der Mensa." | ||
789 | - } | ||
790 | - ], | ||
791 | - "isTemplate": false, | ||
792 | - "count": 0 | ||
793 | - }, | ||
794 | - { | ||
795 | - "id": "b35b3289-8345-4cf2-8f59-736f2b61004f", | ||
796 | - "data": [ | ||
797 | - { | ||
798 | - "text": "Zeige mir alle Gerichte." | ||
799 | - } | ||
800 | - ], | ||
801 | - "isTemplate": false, | ||
802 | - "count": 0 | ||
803 | - }, | ||
804 | - { | ||
805 | - "id": "70acf56e-8e2d-4d9a-b2d6-12cbc838b2ae", | ||
806 | - "data": [ | ||
807 | - { | ||
808 | - "text": "Habe Lust auf " | ||
809 | - }, | ||
810 | - { | ||
811 | - "text": "Suppe", | ||
812 | - "alias": "dishcategory", | ||
813 | - "meta": "@dishcategory", | ||
814 | - "userDefined": true | ||
815 | - }, | ||
816 | - { | ||
817 | - "text": ". Gibt es da " | ||
818 | - }, | ||
819 | - { | ||
820 | - "text": "heute", | ||
821 | - "alias": "date", | ||
822 | - "meta": "@date", | ||
823 | - "userDefined": false | ||
824 | - }, | ||
825 | - { | ||
826 | - "text": " was?" | ||
827 | - } | ||
828 | - ], | ||
829 | - "isTemplate": false, | ||
830 | - "count": 0 | ||
831 | - }, | ||
832 | - { | ||
833 | - "id": "cce7e036-4b08-4a0c-9a4f-219db43e3a18", | ||
834 | - "data": [ | ||
835 | - { | ||
836 | - "text": "Was gibt es " | ||
837 | - }, | ||
838 | - { | ||
839 | - "text": "morgen", | ||
840 | - "alias": "date", | ||
841 | - "meta": "@date", | ||
842 | - "userDefined": false | ||
843 | - }, | ||
844 | - { | ||
845 | - "text": " in der Mensa?" | ||
846 | - } | ||
847 | - ], | ||
848 | - "isTemplate": false, | ||
849 | - "count": 0 | ||
850 | - }, | ||
851 | - { | ||
852 | - "id": "c87d3aff-b7c1-4ae7-a85e-b7d51081cb7c", | ||
853 | - "data": [ | ||
854 | - { | ||
855 | - "text": "Was gab es " | ||
856 | - }, | ||
857 | - { | ||
858 | - "text": "gestern", | ||
859 | - "alias": "date", | ||
860 | - "meta": "@date", | ||
861 | - "userDefined": true | ||
862 | - }, | ||
863 | - { | ||
864 | - "text": " in der Mensa?" | ||
865 | - } | ||
866 | - ], | ||
867 | - "isTemplate": false, | ||
868 | - "count": 0 | ||
869 | - }, | ||
870 | - { | ||
871 | - "id": "c37a2f00-d350-4670-b7bb-0b7018c8840a", | ||
872 | - "data": [ | ||
873 | - { | ||
874 | - "text": "Was gibt es " | ||
875 | - }, | ||
876 | - { | ||
877 | - "text": "übermorgen", | ||
878 | - "alias": "date", | ||
879 | - "meta": "@date", | ||
880 | - "userDefined": false | ||
881 | - }, | ||
882 | - { | ||
883 | - "text": " in der Mensa?" | ||
884 | - } | ||
885 | - ], | ||
886 | - "isTemplate": false, | ||
887 | - "count": 1 | ||
888 | - }, | ||
889 | - { | ||
890 | - "id": "749033aa-ff61-4fc4-8105-2a6e89e9db64", | ||
891 | - "data": [ | ||
892 | - { | ||
893 | - "text": "Was gibt es " | ||
894 | - }, | ||
895 | - { | ||
896 | - "text": "Freitag", | ||
897 | - "alias": "date", | ||
898 | - "meta": "@date", | ||
899 | - "userDefined": true | ||
900 | - }, | ||
901 | - { | ||
902 | - "text": " in der Mensa?" | ||
903 | - } | ||
904 | - ], | ||
905 | - "isTemplate": false, | ||
906 | - "count": 0 | ||
907 | - }, | ||
908 | - { | ||
909 | - "id": "5db0b947-d27d-452a-b84c-85440876d490", | ||
910 | - "data": [ | ||
911 | - { | ||
912 | - "text": "Was gibt es " | ||
913 | - }, | ||
914 | - { | ||
915 | - "text": "Donnerstag", | ||
916 | - "alias": "date", | ||
917 | - "meta": "@date", | ||
918 | - "userDefined": true | ||
919 | - }, | ||
920 | - { | ||
921 | - "text": " in der Mensa?" | ||
922 | - } | ||
923 | - ], | ||
924 | - "isTemplate": false, | ||
925 | - "count": 0 | ||
926 | - }, | ||
927 | - { | ||
928 | - "id": "ea2aa68e-3bb7-4902-a56d-36f96275800a", | ||
929 | - "data": [ | ||
930 | - { | ||
931 | - "text": "Was gibt es " | ||
932 | - }, | ||
933 | - { | ||
934 | - "text": "Mittwoch", | ||
935 | - "alias": "date", | ||
936 | - "meta": "@date", | ||
937 | - "userDefined": true | ||
938 | - }, | ||
939 | - { | ||
940 | - "text": " in der Mensa?" | ||
941 | - } | ||
942 | - ], | ||
943 | - "isTemplate": false, | ||
944 | - "count": 0 | ||
945 | - }, | ||
946 | - { | ||
947 | - "id": "63084452-c279-40ac-b6bc-3baf51fb144f", | ||
948 | - "data": [ | ||
949 | - { | ||
950 | - "text": "Was gibt es " | ||
951 | - }, | ||
952 | - { | ||
953 | - "text": "Dienstag", | ||
954 | - "alias": "date", | ||
955 | - "meta": "@date", | ||
956 | - "userDefined": true | ||
957 | - }, | ||
958 | - { | ||
959 | - "text": " in der Mensa?" | ||
960 | - } | ||
961 | - ], | ||
962 | - "isTemplate": false, | ||
963 | - "count": 0 | ||
964 | - }, | ||
965 | - { | ||
966 | - "id": "9c35b6e8-ea88-4165-94b0-6be5f83ba76c", | ||
967 | - "data": [ | ||
968 | - { | ||
969 | - "text": "Was gibt es " | ||
970 | - }, | ||
971 | - { | ||
972 | - "text": "Montag", | ||
973 | - "alias": "date", | ||
974 | - "meta": "@date", | ||
975 | - "userDefined": true | ||
976 | - }, | ||
977 | - { | ||
978 | - "text": " in der Mensa?" | ||
979 | - } | ||
980 | - ], | ||
981 | - "isTemplate": false, | ||
982 | - "count": 0 | ||
983 | - }, | ||
984 | - { | ||
985 | - "id": "900221fa-f3d3-463b-b224-604521c503e3", | ||
986 | - "data": [ | ||
987 | - { | ||
988 | - "text": "Was gibt es " | ||
989 | - }, | ||
990 | - { | ||
991 | - "text": "heute", | ||
992 | - "alias": "date", | ||
993 | - "meta": "@date", | ||
994 | - "userDefined": false | ||
995 | - }, | ||
996 | - { | ||
997 | - "text": " in der Mensa?" | ||
998 | - } | ||
999 | - ], | ||
1000 | - "isTemplate": false, | ||
1001 | - "count": 0 | ||
1002 | - }, | ||
1003 | - { | ||
1004 | - "id": "0d64638d-fe5d-47c9-807d-1be539af917c", | ||
1005 | - "data": [ | ||
1006 | - { | ||
1007 | - "text": "Was gibt es " | ||
1008 | - }, | ||
1009 | - { | ||
1010 | - "text": "morgen", | ||
1011 | - "alias": "date", | ||
1012 | - "meta": "@date", | ||
1013 | - "userDefined": false | ||
1014 | - }, | ||
1015 | - { | ||
1016 | - "text": " " | ||
1017 | - }, | ||
1018 | - { | ||
1019 | - "text": "Ungesundes", | ||
1020 | - "alias": "healthy", | ||
1021 | - "meta": "@healthy", | ||
1022 | - "userDefined": false | ||
1023 | - }, | ||
1024 | - { | ||
1025 | - "text": " in der Mensa?" | ||
1026 | - } | ||
1027 | - ], | ||
1028 | - "isTemplate": false, | ||
1029 | - "count": 0 | ||
1030 | - }, | ||
1031 | - { | ||
1032 | - "id": "8def9d65-14e0-4980-a57f-31be651b8e9f", | ||
1033 | - "data": [ | ||
1034 | - { | ||
1035 | - "text": "Was gibt es " | ||
1036 | - }, | ||
1037 | - { | ||
1038 | - "text": "heute", | ||
1039 | - "alias": "date", | ||
1040 | - "meta": "@date", | ||
1041 | - "userDefined": false | ||
1042 | - }, | ||
1043 | - { | ||
1044 | - "text": " " | ||
1045 | - }, | ||
1046 | - { | ||
1047 | - "text": "gesundes", | ||
1048 | - "alias": "healthy", | ||
1049 | - "meta": "@healthy", | ||
1050 | - "userDefined": false | ||
1051 | - }, | ||
1052 | - { | ||
1053 | - "text": " in der Mensa?" | ||
1054 | - } | ||
1055 | - ], | ||
1056 | - "isTemplate": false, | ||
1057 | - "count": 0 | ||
1058 | - }, | ||
1059 | - { | ||
1060 | - "id": "abbe2177-b8e7-4801-9872-3c9a359fa7fb", | ||
1061 | - "data": [ | ||
1062 | - { | ||
1063 | - "text": "Was gibt es " | ||
1064 | - }, | ||
1065 | - { | ||
1066 | - "text": "morgen", | ||
1067 | - "alias": "date", | ||
1068 | - "meta": "@date", | ||
1069 | - "userDefined": false | ||
1070 | - }, | ||
1071 | - { | ||
1072 | - "text": " " | ||
1073 | - }, | ||
1074 | - { | ||
1075 | - "text": "vegetarisches", | ||
1076 | - "alias": "dishtype", | ||
1077 | - "meta": "@dishtype", | ||
1078 | - "userDefined": false | ||
1079 | - }, | ||
1080 | - { | ||
1081 | - "text": " in der Mensa?" | ||
1082 | - } | ||
1083 | - ], | ||
1084 | - "isTemplate": false, | ||
1085 | - "count": 0 | ||
1086 | - }, | ||
1087 | - { | ||
1088 | - "id": "4255baf9-704a-4749-a441-0b24d8d716ad", | ||
1089 | - "data": [ | ||
1090 | - { | ||
1091 | - "text": "Was gibt es " | ||
1092 | - }, | ||
1093 | - { | ||
1094 | - "text": "morgen", | ||
1095 | - "alias": "date", | ||
1096 | - "meta": "@date", | ||
1097 | - "userDefined": false | ||
1098 | - }, | ||
1099 | - { | ||
1100 | - "text": " " | ||
1101 | - }, | ||
1102 | - { | ||
1103 | - "text": "gesundes", | ||
1104 | - "alias": "healthy", | ||
1105 | - "meta": "@healthy", | ||
1106 | - "userDefined": true | ||
1107 | - }, | ||
1108 | - { | ||
1109 | - "text": " in der Mensa?" | ||
1110 | - } | ||
1111 | - ], | ||
1112 | - "isTemplate": false, | ||
1113 | - "count": 0 | ||
1114 | - }, | ||
1115 | - { | ||
1116 | - "id": "05c9c76f-e7cc-417f-990d-fc9c0c3d202a", | ||
1117 | - "data": [ | ||
1118 | - { | ||
1119 | - "text": "Ick hab Hunger..." | ||
1120 | - } | ||
1121 | - ], | ||
1122 | - "isTemplate": false, | ||
1123 | - "count": 0 | ||
1124 | - }, | ||
1125 | - { | ||
1126 | - "id": "4c28ddca-a35e-475d-967b-bc513645cf19", | ||
1127 | - "data": [ | ||
1128 | - { | ||
1129 | - "text": "Zeige Gerichte", | ||
1130 | - "meta": "@sys.ignore", | ||
1131 | - "userDefined": true | ||
1132 | - }, | ||
1133 | - { | ||
1134 | - "text": " " | ||
1135 | - }, | ||
1136 | - { | ||
1137 | - "text": "ohne Zucker", | ||
1138 | - "alias": "ingredients", | ||
1139 | - "meta": "@ingredients", | ||
1140 | - "userDefined": true | ||
1141 | - } | ||
1142 | - ], | ||
1143 | - "isTemplate": false, | ||
1144 | - "count": 1 | ||
1145 | - }, | ||
1146 | - { | ||
1147 | - "id": "823222a6-c09c-430d-8164-ac9398a3ae42", | ||
1148 | - "data": [ | ||
1149 | - { | ||
1150 | - "text": "Zeige " | ||
1151 | - }, | ||
1152 | - { | ||
1153 | - "text": "gesunde", | ||
1154 | - "alias": "healthy", | ||
1155 | - "meta": "@healthy", | ||
1156 | - "userDefined": true | ||
1157 | - }, | ||
1158 | - { | ||
1159 | - "text": " Gerichte" | ||
1160 | - } | ||
1161 | - ], | ||
1162 | - "isTemplate": false, | ||
1163 | - "count": 0 | ||
1164 | - }, | ||
1165 | - { | ||
1166 | - "id": "26104cc6-c7d1-4952-bbe8-ea66c0a608b8", | ||
1167 | - "data": [ | ||
1168 | - { | ||
1169 | - "text": "Ich habe " | ||
1170 | - }, | ||
1171 | - { | ||
1172 | - "text": "Hunger", | ||
1173 | - "meta": "@sys.ignore", | ||
1174 | - "userDefined": true | ||
1175 | - } | ||
1176 | - ], | ||
1177 | - "isTemplate": false, | ||
1178 | - "count": 1 | ||
1179 | - }, | ||
1180 | - { | ||
1181 | - "id": "0e61a171-092e-4100-ae11-8e96e4c8eb8a", | ||
1182 | - "data": [ | ||
1183 | - { | ||
1184 | - "text": "Was gibt es " | ||
1185 | - }, | ||
1186 | - { | ||
1187 | - "text": "veganes", | ||
1188 | - "alias": "dishtype", | ||
1189 | - "meta": "@dishtype", | ||
1190 | - "userDefined": true | ||
1191 | - }, | ||
1192 | - { | ||
1193 | - "text": "?" | ||
1194 | - } | ||
1195 | - ], | ||
1196 | - "isTemplate": false, | ||
1197 | - "count": 1 | ||
1198 | - }, | ||
1199 | - { | ||
1200 | - "id": "9b0d67ca-09ea-4d7d-bc72-342e0e7c5088", | ||
1201 | - "data": [ | ||
1202 | - { | ||
1203 | - "text": "Wie ist der aktuelle " | ||
1204 | - }, | ||
1205 | - { | ||
1206 | - "text": "Speiseplan", | ||
1207 | - "meta": "@sys.ignore", | ||
1208 | - "userDefined": true | ||
1209 | - } | ||
1210 | - ], | ||
1211 | - "isTemplate": false, | ||
1212 | - "count": 0 | ||
1213 | - }, | ||
1214 | - { | ||
1215 | - "id": "e4281c8d-f69d-4b90-a12f-d39edc59b052", | ||
1216 | - "data": [ | ||
1217 | - { | ||
1218 | - "text": "Habe " | ||
1219 | - }, | ||
1220 | - { | ||
1221 | - "text": "Hunger", | ||
1222 | - "meta": "@sys.ignore", | ||
1223 | - "userDefined": false | ||
1224 | - } | ||
1225 | - ], | ||
1226 | - "isTemplate": false, | ||
1227 | - "count": 1 | ||
1228 | - }, | ||
1229 | - { | ||
1230 | - "id": "f7606b89-2724-41cb-973f-34210fa976fc", | ||
1231 | - "data": [ | ||
1232 | - { | ||
1233 | - "text": "Ich möchte gerne etwas " | ||
1234 | - }, | ||
1235 | - { | ||
1236 | - "text": "ohne Fleisch", | ||
1237 | - "alias": "dishtype", | ||
1238 | - "meta": "@dishtype", | ||
1239 | - "userDefined": true | ||
1240 | - }, | ||
1241 | - { | ||
1242 | - "text": " " | ||
1243 | - }, | ||
1244 | - { | ||
1245 | - "text": "essen", | ||
1246 | - "meta": "@sys.ignore", | ||
1247 | - "userDefined": true | ||
1248 | - } | ||
1249 | - ], | ||
1250 | - "isTemplate": false, | ||
1251 | - "count": 0 | ||
1252 | - }, | ||
1253 | - { | ||
1254 | - "id": "5cb17168-c227-4ac9-ac83-520b70a5252c", | ||
1255 | - "data": [ | ||
1256 | - { | ||
1257 | - "text": "Was ist " | ||
1258 | - }, | ||
1259 | - { | ||
1260 | - "text": "vegetarisch", | ||
1261 | - "alias": "dishtype", | ||
1262 | - "meta": "@dishtype", | ||
1263 | - "userDefined": true | ||
1264 | - } | ||
1265 | - ], | ||
1266 | - "isTemplate": false, | ||
1267 | - "count": 1 | ||
1268 | - }, | ||
1269 | - { | ||
1270 | - "id": "1a749580-2d92-4526-9f9c-d5fa76e509eb", | ||
1271 | - "data": [ | ||
1272 | - { | ||
1273 | - "text": "Was kann ich " | ||
1274 | - }, | ||
1275 | - { | ||
1276 | - "text": "essen", | ||
1277 | - "meta": "@sys.ignore", | ||
1278 | - "userDefined": true | ||
1279 | - } | ||
1280 | - ], | ||
1281 | - "isTemplate": false, | ||
1282 | - "count": 0 | ||
1283 | - }, | ||
1284 | - { | ||
1285 | - "id": "f49e58ff-4782-4701-9661-07accede286c", | ||
1286 | - "data": [ | ||
1287 | - { | ||
1288 | - "text": "Was gibt es " | ||
1289 | - }, | ||
1290 | - { | ||
1291 | - "text": "heute", | ||
1292 | - "alias": "date", | ||
1293 | - "meta": "@date", | ||
1294 | - "userDefined": true | ||
1295 | - }, | ||
1296 | - { | ||
1297 | - "text": " in der Mensa" | ||
1298 | - } | ||
1299 | - ], | ||
1300 | - "isTemplate": false, | ||
1301 | - "count": 2 | ||
1302 | - } | ||
1303 | - ], | ||
1304 | "id": "fb49a221-02a6-4dff-8da4-9d31cf8f267b", | 2 | "id": "fb49a221-02a6-4dff-8da4-9d31cf8f267b", |
1305 | "name": "showFood", | 3 | "name": "showFood", |
1306 | "auto": true, | 4 | "auto": true, |
@@ -1311,36 +9,42 @@ | @@ -1311,36 +9,42 @@ | ||
1311 | "affectedContexts": [], | 9 | "affectedContexts": [], |
1312 | "parameters": [ | 10 | "parameters": [ |
1313 | { | 11 | { |
12 | + "id": "7b5df330-e1fc-4bb4-86de-5a51be29c836", | ||
1314 | "dataType": "@date", | 13 | "dataType": "@date", |
1315 | "name": "date", | 14 | "name": "date", |
1316 | "value": "$date", | 15 | "value": "$date", |
1317 | "isList": false | 16 | "isList": false |
1318 | }, | 17 | }, |
1319 | { | 18 | { |
19 | + "id": "f3da5ec9-d3e8-4263-9bc3-7d600784bd0d", | ||
1320 | "dataType": "@dishtype", | 20 | "dataType": "@dishtype", |
1321 | "name": "dishtype", | 21 | "name": "dishtype", |
1322 | "value": "$dishtype", | 22 | "value": "$dishtype", |
1323 | "isList": false | 23 | "isList": false |
1324 | }, | 24 | }, |
1325 | { | 25 | { |
26 | + "id": "499e1a33-d7ef-4446-ae7d-30ab94c9e3a5", | ||
1326 | "dataType": "@healthy", | 27 | "dataType": "@healthy", |
1327 | "name": "healthy", | 28 | "name": "healthy", |
1328 | "value": "$healthy", | 29 | "value": "$healthy", |
1329 | "isList": false | 30 | "isList": false |
1330 | }, | 31 | }, |
1331 | { | 32 | { |
33 | + "id": "f53af932-a4f2-4fe5-be2d-eb96a30e9400", | ||
1332 | "dataType": "@ingredients", | 34 | "dataType": "@ingredients", |
1333 | "name": "ingredients", | 35 | "name": "ingredients", |
1334 | "value": "$ingredients", | 36 | "value": "$ingredients", |
1335 | "isList": false | 37 | "isList": false |
1336 | }, | 38 | }, |
1337 | { | 39 | { |
40 | + "id": "b8c8ab1d-4190-4200-9540-2893a084a1fd", | ||
1338 | "dataType": "@price", | 41 | "dataType": "@price", |
1339 | "name": "price", | 42 | "name": "price", |
1340 | "value": "$price", | 43 | "value": "$price", |
1341 | "isList": false | 44 | "isList": false |
1342 | }, | 45 | }, |
1343 | { | 46 | { |
47 | + "id": "92607e59-96c8-4c61-8dc0-670c7b8c2b43", | ||
1344 | "dataType": "@dishcategory", | 48 | "dataType": "@dishcategory", |
1345 | "name": "dishcategory", | 49 | "name": "dishcategory", |
1346 | "value": "$dishcategory", | 50 | "value": "$dishcategory", |
@@ -1350,10 +54,12 @@ | @@ -1350,10 +54,12 @@ | ||
1350 | "messages": [ | 54 | "messages": [ |
1351 | { | 55 | { |
1352 | "type": 0, | 56 | "type": 0, |
57 | + "lang": "de", | ||
1353 | "speech": [] | 58 | "speech": [] |
1354 | } | 59 | } |
1355 | ], | 60 | ], |
1356 | - "defaultResponsePlatforms": {} | 61 | + "defaultResponsePlatforms": {}, |
62 | + "speech": [] | ||
1357 | } | 63 | } |
1358 | ], | 64 | ], |
1359 | "priority": 500000, | 65 | "priority": 500000, |
docker/rasa_nlu/volumes/data/api/package.json
0 → 100755
docker/wildfly/volumes/conf/beuthbot.properties
services/Common/src/main/java/de/bht/beuthbot/jms/TaskMessage.java
@@ -24,6 +24,23 @@ public class TaskMessage implements ProcessQueueMessageProtocol { | @@ -24,6 +24,23 @@ public class TaskMessage implements ProcessQueueMessageProtocol { | ||
24 | private final String intent; | 24 | private final String intent; |
25 | private final Map<String, String> entities; | 25 | private final Map<String, String> entities; |
26 | 26 | ||
27 | + public TaskMessage(Long id, Target target, Long messageID, Long senderID, Messenger messenger, String text, List<Attachment> attachments, String intent, Map<String, String> entities) { | ||
28 | + this.id = id; | ||
29 | + this.target = target; | ||
30 | + this.messageID = messageID; | ||
31 | + this.senderID = senderID; | ||
32 | + this.messenger = messenger; | ||
33 | + this.text = text; | ||
34 | + if (attachments == null) { | ||
35 | + this.attachments = new ArrayList<Attachment>(); | ||
36 | + } else { | ||
37 | + this.attachments = attachments; | ||
38 | + } | ||
39 | + this.intent = intent; | ||
40 | + this.entities = entities; | ||
41 | + | ||
42 | + } | ||
43 | + | ||
27 | public TaskMessage(final ProcessQueueMessageProtocol message) { | 44 | public TaskMessage(final ProcessQueueMessageProtocol message) { |
28 | this.id = message.getId(); | 45 | this.id = message.getId(); |
29 | this.target = message.getTarget(); | 46 | this.target = message.getTarget(); |
services/Common/src/main/java/de/bht/beuthbot/model/EntityName.java
@@ -6,7 +6,7 @@ package de.bht.beuthbot.model; | @@ -6,7 +6,7 @@ package de.bht.beuthbot.model; | ||
6 | public enum EntityName { | 6 | public enum EntityName { |
7 | 7 | ||
8 | DATE("date"), DISH_TYPE("dishtype"), HEALTHY("healthy"), INGREDIENTS("ingredients"), DISH_CATEGORY("dishcategory"), | 8 | DATE("date"), DISH_TYPE("dishtype"), HEALTHY("healthy"), INGREDIENTS("ingredients"), DISH_CATEGORY("dishcategory"), |
9 | - DISH_NAME("dishname"); | 9 | + DISH_NAME("dishname"), REMINDER_CYCLE("reminderCycle"); |
10 | 10 | ||
11 | private String text; | 11 | private String text; |
12 | 12 |
services/Common/src/main/java/de/bht/beuthbot/model/Intent.java
@@ -7,7 +7,7 @@ public enum Intent { | @@ -7,7 +7,7 @@ public enum Intent { | ||
7 | 7 | ||
8 | SHOW_FOOD("showFood"), HELLO("Hello"), GREET("greet"), BYE("Bye"), | 8 | SHOW_FOOD("showFood"), HELLO("Hello"), GREET("greet"), BYE("Bye"), |
9 | GOODBYE("goodbye"), RESTAURANT_SEARCH("restaurant_search"), START("Start"), | 9 | GOODBYE("goodbye"), RESTAURANT_SEARCH("restaurant_search"), START("Start"), |
10 | - SHOW_PRICE("showPrice"), FALLBACK("Fallback"); | 10 | + SHOW_PRICE("showPrice"), REMIND("remind"), CREATE_REMINDER("createReminder"), FALLBACK("Fallback"); |
11 | 11 | ||
12 | private String text; | 12 | private String text; |
13 | 13 |
services/Global/Global_test.iml
@@ -66,8 +66,8 @@ | @@ -66,8 +66,8 @@ | ||
66 | <orderEntry type="library" name="Gradle: org.jboss.shrinkwrap:shrinkwrap-api:1.2.6" level="project" /> | 66 | <orderEntry type="library" name="Gradle: org.jboss.shrinkwrap:shrinkwrap-api:1.2.6" level="project" /> |
67 | <orderEntry type="library" scope="RUNTIME" name="Gradle: org.wildfly.arquillian:wildfly-arquillian-common:2.0.2.Final" level="project" /> | 67 | <orderEntry type="library" scope="RUNTIME" name="Gradle: org.wildfly.arquillian:wildfly-arquillian-common:2.0.2.Final" level="project" /> |
68 | <orderEntry type="library" name="Gradle: org.jboss.arquillian.container:arquillian-container-spi:1.1.13.Final" level="project" /> | 68 | <orderEntry type="library" name="Gradle: org.jboss.arquillian.container:arquillian-container-spi:1.1.13.Final" level="project" /> |
69 | - <orderEntry type="library" scope="RUNTIME" name="Gradle: org.wildfly.arquillian:wildfly-arquillian-protocol-jmx:2.0.2.Final" level="project" /> | ||
70 | <orderEntry type="library" name="Gradle: org.jboss.arquillian.config:arquillian-config-api:1.1.13.Final" level="project" /> | 69 | <orderEntry type="library" name="Gradle: org.jboss.arquillian.config:arquillian-config-api:1.1.13.Final" level="project" /> |
70 | + <orderEntry type="library" scope="RUNTIME" name="Gradle: org.wildfly.arquillian:wildfly-arquillian-protocol-jmx:2.0.2.Final" level="project" /> | ||
71 | <orderEntry type="library" scope="RUNTIME" name="Gradle: org.jboss.marshalling:jboss-marshalling-river:1.4.10.Final" level="project" /> | 71 | <orderEntry type="library" scope="RUNTIME" name="Gradle: org.jboss.marshalling:jboss-marshalling-river:1.4.10.Final" level="project" /> |
72 | <orderEntry type="library" name="Gradle: org.jboss.arquillian.config:arquillian-config-impl-base:1.1.13.Final" level="project" /> | 72 | <orderEntry type="library" name="Gradle: org.jboss.arquillian.config:arquillian-config-impl-base:1.1.13.Final" level="project" /> |
73 | <orderEntry type="library" name="Gradle: org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-spi:2.0.0-alpha-10" level="project" /> | 73 | <orderEntry type="library" name="Gradle: org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-spi:2.0.0-alpha-10" level="project" /> |
services/MainBot/src/main/java/de/bht/beuthbot/drools/DroolsService.java
@@ -77,6 +77,7 @@ public class DroolsService implements MessageListener { | @@ -77,6 +77,7 @@ public class DroolsService implements MessageListener { | ||
77 | DroolsMessage droolsMessage = doRules(botMessage); | 77 | DroolsMessage droolsMessage = doRules(botMessage); |
78 | 78 | ||
79 | logger.info("ANSWER: " + botMessage.getText()); | 79 | logger.info("ANSWER: " + botMessage.getText()); |
80 | + logger.debug("Entities: " + botMessage.getEntities().toString()); | ||
80 | 81 | ||
81 | if (droolsMessage.isAsVoiceMessage()) { | 82 | if (droolsMessage.isAsVoiceMessage()) { |
82 | droolsMessage.setTarget(Target.NTSP); | 83 | droolsMessage.setTarget(Target.NTSP); |
services/MainBot/src/main/resources/de/bht/beuthbot/drools/Canteen.drl
@@ -105,6 +105,18 @@ rule "Show price" | @@ -105,6 +105,18 @@ rule "Show price" | ||
105 | modify(m){setText(canteenData.showPriceOfDish(m.getEntities().containsKey(EntityName.DISH_NAME.getText()) ? m.getEntities().get(EntityName.DISH_NAME.getText()) : ""))} | 105 | modify(m){setText(canteenData.showPriceOfDish(m.getEntities().containsKey(EntityName.DISH_NAME.getText()) ? m.getEntities().get(EntityName.DISH_NAME.getText()) : ""))} |
106 | end | 106 | end |
107 | 107 | ||
108 | +// ---------------------------- CREATE REMINDER ----------------------------- | ||
109 | +/* | ||
110 | +rule "Create reminder" | ||
111 | + dialect "java" | ||
112 | + when | ||
113 | + m : DroolsMessage(getIntent().equals(Intent.CREATE_REMINDER.getText())) | ||
114 | + then | ||
115 | + | ||
116 | + | ||
117 | +end | ||
118 | + | ||
119 | +*/ | ||
108 | // --------------------------- Fallback ------------------------- | 120 | // --------------------------- Fallback ------------------------- |
109 | rule "Fallback" | 121 | rule "Fallback" |
110 | dialect "java" | 122 | dialect "java" |
services/Scheduler/src/main/java/de/bht/beuthbot/scheduler/SchedulerBean.java
1 | package de.bht.beuthbot.scheduler; | 1 | package de.bht.beuthbot.scheduler; |
2 | 2 | ||
3 | import de.bht.beuthbot.attachments.AttachmentStore; | 3 | import de.bht.beuthbot.attachments.AttachmentStore; |
4 | +import de.bht.beuthbot.jms.Target; | ||
5 | +import de.bht.beuthbot.model.Attachment; | ||
6 | +import de.bht.beuthbot.model.Intent; | ||
7 | +import de.bht.beuthbot.model.Messenger; | ||
4 | import de.bht.beuthbot.scheduler.model.Reminder; | 8 | import de.bht.beuthbot.scheduler.model.Reminder; |
5 | import de.bht.beuthbot.scheduler.model.ReminderCycle; | 9 | import de.bht.beuthbot.scheduler.model.ReminderCycle; |
6 | import org.slf4j.Logger; | 10 | import org.slf4j.Logger; |
@@ -44,6 +48,8 @@ public class SchedulerBean { | @@ -44,6 +48,8 @@ public class SchedulerBean { | ||
44 | //list of reminders to be populated with data from the DB | 48 | //list of reminders to be populated with data from the DB |
45 | private ArrayList<Reminder> _reminders = new ArrayList<>(); | 49 | private ArrayList<Reminder> _reminders = new ArrayList<>(); |
46 | 50 | ||
51 | + boolean isActive = false; | ||
52 | + | ||
47 | //CONSTRUCTOR | 53 | //CONSTRUCTOR |
48 | @PostConstruct | 54 | @PostConstruct |
49 | public void init(){ | 55 | public void init(){ |
@@ -55,6 +61,24 @@ public class SchedulerBean { | @@ -55,6 +61,24 @@ public class SchedulerBean { | ||
55 | //TODO: Establish DB connection and retrieve list of reminders | 61 | //TODO: Establish DB connection and retrieve list of reminders |
56 | logger.debug("SchedulerBean fired!"); | 62 | logger.debug("SchedulerBean fired!"); |
57 | 63 | ||
64 | + if (!isActive) return; | ||
65 | + | ||
66 | + Long messageID = 1L; | ||
67 | + Long senderID = 1L; //TODO: Fill with correct value from DB | ||
68 | + Messenger messenger = Messenger.TELEGRAM; //TODO: Fill with correct value from DB | ||
69 | + String text = ""; | ||
70 | + String intent = "remind"; | ||
71 | + Map entities = Collections.emptyMap(); | ||
72 | + try { | ||
73 | + TaskMessage message = new TaskMessage(1L, Target.MAINBOT, messageID, senderID, messenger, text, null, intent, entities); | ||
74 | + processQueue.route(new TaskMessage(message)); | ||
75 | + | ||
76 | + } catch (Exception e) { | ||
77 | + logger.error("Something went wrong while attempting to send reminder!", e); | ||
78 | + } | ||
79 | + | ||
80 | + | ||
81 | + | ||
58 | 82 | ||
59 | } | 83 | } |
60 | 84 |
services/Telegram/src/main/java/de/bht/beuthbot/messenger/telegram/TelegramReceiveAdapter.java
@@ -17,6 +17,7 @@ import de.bht.beuthbot.jms.ProcessQueue; | @@ -17,6 +17,7 @@ import de.bht.beuthbot.jms.ProcessQueue; | ||
17 | import de.bht.beuthbot.jms.TaskMessage; | 17 | import de.bht.beuthbot.jms.TaskMessage; |
18 | import de.bht.beuthbot.messenger.telegram.model.TelegramAttachment; | 18 | import de.bht.beuthbot.messenger.telegram.model.TelegramAttachment; |
19 | import de.bht.beuthbot.messenger.telegram.model.TelegramMessage; | 19 | import de.bht.beuthbot.messenger.telegram.model.TelegramMessage; |
20 | +import de.bht.beuthbot.messenger.telegram.model.TelegramWebhookURL; | ||
20 | import de.bht.beuthbot.model.Attachment; | 21 | import de.bht.beuthbot.model.Attachment; |
21 | import de.bht.beuthbot.model.AttachmentType; | 22 | import de.bht.beuthbot.model.AttachmentType; |
22 | import org.apache.http.HttpStatus; | 23 | import org.apache.http.HttpStatus; |
@@ -25,10 +26,11 @@ import org.slf4j.LoggerFactory; | @@ -25,10 +26,11 @@ import org.slf4j.LoggerFactory; | ||
25 | 26 | ||
26 | import javax.annotation.PostConstruct; | 27 | import javax.annotation.PostConstruct; |
27 | import javax.annotation.Resource; | 28 | import javax.annotation.Resource; |
29 | +import javax.ws.rs.Consumes; | ||
28 | import javax.ws.rs.POST; | 30 | import javax.ws.rs.POST; |
29 | import javax.ws.rs.Path; | 31 | import javax.ws.rs.Path; |
32 | +import javax.ws.rs.core.MediaType; | ||
30 | import javax.ws.rs.core.Response; | 33 | import javax.ws.rs.core.Response; |
31 | -import java.util.Properties; | ||
32 | 34 | ||
33 | /** | 35 | /** |
34 | * @Author: Christopher Kümmel on 5/14/2017. | 36 | * @Author: Christopher Kümmel on 5/14/2017. |
@@ -134,17 +136,24 @@ public class TelegramReceiveAdapter { | @@ -134,17 +136,24 @@ public class TelegramReceiveAdapter { | ||
134 | * RESTEasy HTTP Post to set Webhook | 136 | * RESTEasy HTTP Post to set Webhook |
135 | */ | 137 | */ |
136 | @POST | 138 | @POST |
139 | + @Consumes(MediaType.APPLICATION_JSON) | ||
137 | @Path("/setWebhook") | 140 | @Path("/setWebhook") |
138 | - public Response setWebhook() { | ||
139 | - int responseCode = verifyWebhook(); | 141 | + public Response setWebhook(TelegramWebhookURL telegramWebhookURL) { |
142 | + int responseCode = verifyWebhook(telegramWebhookURL.toString()); | ||
140 | return Response.status(responseCode).build(); | 143 | return Response.status(responseCode).build(); |
141 | } | 144 | } |
142 | 145 | ||
143 | /** | 146 | /** |
144 | * Method to set TelegramWebhook | 147 | * Method to set TelegramWebhook |
145 | */ | 148 | */ |
146 | - private int verifyWebhook() { | ||
147 | - SetWebhook webhook = new SetWebhook().url(application.getConfiguration(Configuration.WEB_URL) + application.getConfiguration(Configuration.TELEGRAM_WEBHOOK_URL)); | 149 | + private int verifyWebhook(String webhookURL) { |
150 | + if(webhookURL == null) { | ||
151 | + webhookURL = application.getConfiguration(Configuration.WEB_URL) + application.getConfiguration(Configuration.TELEGRAM_WEBHOOK_URL); | ||
152 | + } else { | ||
153 | + webhookURL = webhookURL + application.getConfiguration(Configuration.TELEGRAM_WEBHOOK_URL); | ||
154 | + } | ||
155 | + logger.debug("Webhook is: " + webhookURL); | ||
156 | + SetWebhook webhook = new SetWebhook().url(webhookURL); | ||
148 | 157 | ||
149 | BaseResponse response = bot.execute(webhook); | 158 | BaseResponse response = bot.execute(webhook); |
150 | if (response.isOk()) { | 159 | if (response.isOk()) { |
services/Telegram/src/main/java/de/bht/beuthbot/messenger/telegram/model/TelegramWebhookURL.java
0 → 100644
1 | +package de.bht.beuthbot.messenger.telegram.model; | ||
2 | + | ||
3 | +import de.bht.beuthbot.conf.Application; | ||
4 | +import de.bht.beuthbot.conf.Configuration; | ||
5 | + | ||
6 | +import javax.annotation.Resource; | ||
7 | + | ||
8 | +public class TelegramWebhookURL { | ||
9 | + /** BeuthBot Application Bean */ | ||
10 | + @Resource(lookup = "java:global/global/ApplicationBean") | ||
11 | + private Application application; | ||
12 | + | ||
13 | + private String url; | ||
14 | + | ||
15 | + public String getUrl() { | ||
16 | + return url; | ||
17 | + } | ||
18 | + | ||
19 | + public void setUrl(String url) { | ||
20 | + /* | ||
21 | + if(!botToken.equals(application.getConfiguration(Configuration.TELEGRAM_BOT_TOKEN))) { | ||
22 | + return; | ||
23 | + }*/ | ||
24 | + this.url = url; | ||
25 | + } | ||
26 | + | ||
27 | + @Override | ||
28 | + public String toString() { | ||
29 | + return url; | ||
30 | + } | ||
31 | +} |