SharePoint

Chatbot in Azure–So einfach geht’s

04.01.2017 03:27

Ich habe in letzter Zeit etwas mit Chatbots herum gespielt. Die Erstellung der Basic-Variante geht sehr einfach. Heute möchte ich Euch zeigen wie das geht und wie man den Chatbot anschließend veröftentlicht (am Beispiel vom Messenger Telegram).

Als Voraussetzung sollte der Entwickler über einen Azure-Konto z.B. aus der MSDN verfügen.

 

Wie erstelle ich einen ChatBot?

Öffnen Sie Ihr Azure-Portal und Erstellen Sie einen BotService (App Services –> Bot Service –> Erstellen)

image

Geben Sie dem Bot einen Namen und wählen Sie die weiteren Parameter.

image

Nun gilt es abzuwarten, bis der Bot in Azure erstellt ist (Tipp: Es reicht nur für eine sehr kurze Kaffeepause). Anschließend öffnet man den Bot und wird aufgefordert eine AppId und ein Passwort zu erstellen.

image

Die Registrierung ist sehr einfach. Beim Generieren des Passwortes das Passwort speichern (wird einmalig gleich wieder benötigt).

Anschließend kann ein Samplebot erstellt werden. Es werden die Sprachen C# und NodeJs angeboten. Unser Bot Hans-Dieter wird ein Form-Bot.

image

Und wieder müssen wir wieder eine kurze Zeit warten bis Hans-Dieter einsatzfähig ist (Tipp: Kaffeepause).

Nach der Erstellung wird einem die Azure Development Plattform gezeigt. Hier ist es möglich den Code in der Cloud zu editieren. Auf der rechten Seite sieht man ein Chatfenster in dem man mit Hans-Dieter chatten kann. So können die Änderungen sofort getestet werden.

image

Wie funktioniert Hans-Dieter eigentlich?

Dafür muss ich ein wenig ausholen. Seit kurzer Zeit hat Microsoft Azure Functions eingeführt(https://azure.microsoft.com/de-de/services/functions/). Azure Functions können über einen Rest-Service aufgerufen werden, bearbeiten dann den Input und geben einen entsprechenden Output zurück.

In unserem Falle ist dies das Form, welches im Code zu sehen ist. Da Log im unteren Bereich des Bildschirms zeigt uns dann auch genau wann die Function aufgerufen wurde (“Webhook triggered”) und wenn die Function abgeschlossen ist (“Function completed”).

image

Tipp am Rande: Die Seite der Azure Functions bietet übrigens eine tolle Code Challenge.

 

Wie kann ich mein Formular ändern?

Die Daten die im Formular abgefragt werden, können relativ einfach geändert werden. Ich möchte das Hans-Dieter später unsere Kaffeemaschine dazu bringt mir einen Kaffee zu machen (Tipp: Jetzt keine Kaffeepause).

Ich möchte das Hans-Dieter zunächst den Namen und anschließend die Art Kaffee erfragt. Dafür wechsele ich in die Date BasicForm.csx. Dort findet man auch die Beispieleinträge aus dem Autobeispiel von oben.

Die einzige Änderung die ich mache, ist die Enums für CarOptions und ColorOptions sowie die zugehörigen Properties aus dem BasicForm zu löschen. Anschließend füge ich mein eigenes Enum CoffeeOptions hinzu.

public enum CoffeeOptions { Americano = 1, Cappucino, CafeAuLait, Espresso, Lungo };

Anschließend rufe ich sie im Formular auf.

[Prompt(„Please select your favorite coffee type {||}“)]
public CoffeeOptions Coffee { get; set; }

Ein kleiner Test beweist, dass Hans-Dieter nun meine Bestellung entgegen nimmt.

image

Wie bekomme ich den Bot nun auf mein Handy?

Wie oben beschrieben, möchte ich das anhand des Messengers Telegram zeigen. Zunächst geht man in den Reiter Channels. Die Channels bieten ein gute Auswahl (Skype, Webchat, Direct Line (= Webservice), Email, Facebook Messenger, GroupMe, kik, Microsoft Teams, Slack, Telegram, Twilio). Ist man im Reiter Channels wählt man bei Telegram “add” und folgt dem HowTo.

image

Im Anschluss kann der Bot in Telegram aufgerufen werden. Er läuft unter @HansDieter_bot.

Screenshot_2017-01-04-15-21-20

 

Nun kann Hans-Dieter auf dem genutzt werden. Der findige Entwickler speichert seine Auswahl nun noch im Azure Storage ruft diesen mittels Raspberry Pi (oder einem anderen gefälligen IoT-Gerät) auf, koppelt das noch mit dem Kaffeevollautomat und freut sich auf seinen Kaffee.

Vielen Dank Hans-Dieter

HanseVision _wir sind sharepoint

_

Autor

schindler_stefan.jpg

Steffen Schindler

Funktion: Senior Developer
Standort: HanseVision GmbH, Hamburg

Meine Motivation:

Interessante Lösungen im Netz finden, diese aber auch für andere bereitstellen.

Kurzprofil.

Steffen Schindler ist Diplominformatiker. Bei der HanseVision entwickelt er nicht nur Lösungen für Microsoft SharePoint, sondern beschäftigt sich auch mit Desktop- und Webanwendungen im Net-Bereich. Sein Fokus liegt auf Kollaboration und Suche. Außerdem ist er zertifizierter Scrum Master und gestaltet mit dem Team den internen Entwicklungsprozess.


Stichwörter

azure  azure-functions  bot-services  chatbot  cloud  entwicklung  messenger  telegram 

 
Diese Seite teilen:   Xing Facebook Twitter Google+
 
 Cookie-Kontrolle.

Dieser Internetauftritt verwendet Cookies um Informationen auf Ihrem Client zu speichern.

Ihre Browsereinstellungen verhindern das Setzen von Cookies.
Ihre Browsereinstellungen erlauben das Setzen von Cookies.
Funktionale Cookies sind deaktiviert.
Funktionale Cookies sind aktiviert.
Zu den Einstellungen