Wir wollen hiermit den Bot Framework Channel Emulator (Kurz: Bot Emulator) vorstellen. Wie der Name schon sagt kann man damit das Verhalten seines Bots „nachspielen“ um zum Beispiel Probleme zu lösen indem man die Kommunikation zwischen seinem Bot (FrontEnd) und dem Bot Diensten (Endpunkt) einsehen kann. Ideal auch um einfach die Funktionalität seines Bots zu testen. Somit also ein unverzichtbares Tool für jeden Bot Entwickler.
Schritt 1 – Es war einmal ein Bot…
Zuerst braucht man einmal einen Bot logischerweise. Diesen kann man sich ganz einfach mit den Azure Bot Services generieren und je nach Bedarf den Bot um eine entsprechende Bot Intelligenz mittels Coding erweitern.
In diesem Beitrag gehen wir davon aus, dass der Bot bereits vorhanden ist. Wer keinen Bot hat, kann sich mit Hilfe der folgenden Anleitung einen generieren:
=> Eigenen Bot mit Microsoft Azure Bot Services erstellen
Schritt 2 – Installation Blog Framework Emulator
Als nächstes braucht man den Blog Framework Emulator selbst, welcher in unserem Beispiel auf einem entsprechenden Mac Client installiert wird (geht natürlich auch mit Windows). Also herunterladen und einfach installieren.
=> Download Blog Framework Channel Emulator
Sobald dieser installiert ist, einfach mal starten, das sollte dann so aussehen:
HINWEIS: Wir spielen in diesem Szenario alles mit einem Apple Mac Book Pro mit macOS Sierra durch, geht sicherlich mit einem PC mit Windows 10 genau so gut und zuverlässig, hoffentlich 🙂
Schritt 3 – Einrichten Tunneling Software für Emulator
Als nächstes benötigt man noch die Tunnelsoftware Ngrok, die den Bot Emulator (FrontEnd) am Client mit dem Bot Service (Endpunkt) sicher verbindet. Einfach herunterladen und das Tool/File in ein entsprechendes Verzeichnis Kopieren (in unserem Beispiel ist das /Applications/ngrok). Der Bot Emulator wird diese Tool/File dann entsprechend verwenden.
=> Download Tunneling Tool ngrok
Nun im Bot Emulator die „App Settings“ aufrufen…
…und den Pfad (inkl. Filename) zum Ngrok Tool hinterlegen (in unserem Beispiel ist das also /Applications/ngrok).
Der Logbereich des Bot Emulators sollte nun wie folgt aussehen und vermittelt somit, das Ngrok richtig funktioniert.
Es kann nun eine sichere Tunnelverbindung zum Emulator (am „localhost“) und dem Bot Service aufgebaut werden.
Schritt 4 – Mit Bot Endpunkt verbinden
Dazu im Bot Emulator im Feld „Enter your endpoint URL“ die URL des Bot Services eingeben. Die URL findet man im entsprechenden (Azure) Bot Service unter Settings.
Die URL also im Bot Emulator eingeben und folgende Daten zusätzlich eingeben:
- Microsoft App ID
- Microsoft App Passwort
- Sprache
HINWEIS: Die entsprechende App ID und App Passwort erhält man beim Einrichten des Bot Services, wie unter Schritt 1 beschrieben.
Nun noch auf „Connect“ klicken und es wird eine sichere Verbindung zum Bot Endpunkt aufgebaut. Der Bot sollte sich nun melden. Der Log Bereich des Bot Emulators zeichnet dabei die aufgezeichnete Kommunikation zwischen Bot Emulator (FrontEnd) und Bot Service (Endpunkt) auf.
Schritt 5 – Bot verwenden und Kommunikation einsehen
Es ist also so weit, man kann nun mit dem Bot Emulator den Bot verwenden und die Kommunikation überwachen und einsehen. Im Log Bereich finden man die ausgetauschten Meldungen, die man sich im Detail Bereich noch genauer (Dateninhalt) ansehen kann. Mit dem Bot Emulator kann man seinen Bot nicht nur testen sondern vor allem bei Problemen sich die Details ansehen.
Der Bot Framework Emulator ist für jeden Bot Entwickler ein wertvolles Werkzeug und ist natürlich Open Source. Mehr dazu findest Du auf GitHub.
Empfehlung: Einfach mal ausprobieren!