chatbbot-group/
static/
css/
css files hier
js/
js files hier
templates/
html files hier
main.py (Server)
Bitte diese Struktur beibehalten, damit Flask richtig funktioniert.
Hier nochmal zum Nachlesen in der Flask Dokumentation.
Damit es läuft, braucht jeder Python installieren, empfohlenerweise in einem virtual environment(https://docs.python.org/3/library/venv.html), z.B. conda(https://anaconda.org/anaconda/conda)
Damit habt ihr auch pip und könnt in der Konsole im Git Ordner folgende Befehle ausführen:
pip install -r requirements.txt
Falls möglich, schreibt alle benötigten python-module in die pip, die how-to-requirements im glitch ist für so Fälle wie en_core_web_sm
geupdatet
Sonst schaut nochmal in die Flask-SocketIO Doku.
Für nltk bitte wordnet installieren Dazu einfach in die Python Konsole gehen und eintippen
import nltk
und danach
nltk.download('wordnet')
nltk.download('punkt')
Für spacy bitte in der Konsole eingeben
python -m spacy download en_core_web_sm
Genauen befehl für betriebssystem
Link zur Anleitung https://spacy.io/usage/models
** Torch installieren **
Um Torch zu installieren muss jeder unter seinen Konfigurationen eine Installation durchführen.
!Beispiel!
pip install torch==1.5.0+cpu torchvision==0.6.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
Anleitung Windows mit Python 3.8.2 64-Bit
Zuerst pip install -r requirements.txt
.
Danach die nltk-Geschichte downloaden.
Anleitung für Sound for playsound
On Windows, uses windll.winmm. WAVE and MP3 have been tested and are known to work. Other file formats may work as well.
On OS X, uses AppKit.NSSound. WAVE and MP3 have been tested and are known to work. In general, anything QuickTime can play, playsound should be able to play, for OS X.
On Linux, uses GStreamer. Known to work on Ubuntu 14.04 and ElementaryOS Loki. Support for the block argument is currently not implemented.
Beim Upgrade von pip mit python -m pip install --upgrade pip
:
Schließt vor dem Ausführen des Befehls alle Fenster, die irgendeine Datei aus dem Virtual Environment geöffnet haben. Das führt sonst zu folgendem Fehler:
File "C:\Users\User\Documents\Uni\Chatbot\venv\lib\site-packages\pip__main__.py", line 16, in <module>
from pip._internal.cli.main import main as _main # isort:skip # noqa
ModuleNotFoundError: No module named 'pip._internal.cli'
Solltet ihr diesen Fehler bereits haben, müsst ihr das Virtual Enviroment löschen und ein Neues anlegen. Das Virtual Enviroment sollte venv
heißen, damit es von der gitignore ignoriert wird.
Aktuell läuft der Server lokal.
Öffnet einfach die Konsole im Order der main.py
Datei und benutzt
python main.py
Wenn der Server gestartet ist, öffnet einen Browser unter addresse http://localhost:5000.
Prüft die Connection, indem ihr die developer tools öffnet und den Reiter Console anklickt. Dort sollte wenn alles geklappt hat connected client
stehen.
Die rooms.csv
beinhaltet die spielbaren Räume, in denen sich der Spieler befindet. Die Datei bietet Infos dazu, was man alles in welchem Raum machen kann und wie er aussieht.
Spaltentrennung mit "$"!!!
Und so ist die rooms.csv
mit Syntax aufgebaut. Wichtig! Die Überschriften sind selbst nicht in der CSV drin:
ID | Room Name | Introduction | Description | Connections | Triggers |
---|---|---|---|---|---|
0 | room 1 | "As you go into this room you feel really weird. You see blabla" | "You look around the room and see two doors and an old lady." | door?1;trap door?2 | collect Key&"Congrats you collected an old key";use key&"You open the door with a key" |
ID: Die Raum-ID, für jeden Raum einzigartig, gleich der Zeilenzahl.
Room Name: Einzigartiger Name für den Raum als String.
Introduction: Ein Text der beim Betreten des Raumes gezeigt wird
Triggers: Raumspezifische Trigger-Sätze, nachdem diese aufgerufen wurden wird der Text hinter & gezeigt. "trigger sentence"&"what happens after".
Connections: Die Räume, die mit dem in der Zeile gezeigten Raum verbunden sind. Der erste string zeigt den Alias des Raumes, die der Spieler im Text benutzen kann. Da der Spieler vor betreten des Raumes, nicht seinen richtigen Namen kennt. "that weird door"?"room 2"
Description: Wird bei "look around" ausgeführt. Beschreibt den Raum, wenn man schon drinne steht. "This room is old and dirty. It is dark"
Notes: Informationen, diese Spalte wird nicht vom code benutzt. Allerdings beschreibt sie beispielsweise boolische Werte, die eingebeut werden müssen.