Microsoft bot framework: wat is het en hoe werkt het?

Door Marco Ippel In Microsoft

Niet zo heel lang geleden ben ik begonnen aan het bouwen van een mobiele app in xamarin. Je wilt toch dat je app op meerdere platformen kan draaien en niet dat je al je code opnieuw moet gaan schrijven in verschillende talen voor verschillende platformen. Nu was ik daar al een aardig eindje mee op weg en toen kwam ik het Microsoft bot framework tegen. Na me verdiept te hebben in het framework wist ik het, het wordt geen app meer maar een bot!

Hoe werkt het Microsoft bot framework?

Om een chatbot te bouwen zal ik eerst uitleggen hoe het Microsoft bot framework werkt. Een gebruiker gebruikt bijvoorbeeld Facebook messenger om met jouw bot te communiceren. Om nu niet zelf de communicatie tussen facebook messenger en je bot applicatie te hoeven bouwen, heeft Microsoft het bot framework gereleased.

Het botframework ontvangt de berichten van facebook messenger en maakt hier een standaard bericht van wat door wordt gestuurd naar je bot applicatie (dit gebeurt allemaal via rest calls).

Bot-Framework – Microsoft bot framework wat is het en hoe werkt het

Hoe werkt de bot applicatie?

Een bot is eigenlijk een vooraf gedefinieerde flow waar je je bezoeker doorheen wilt navigeren. Een bot kan bestaan uit dialogs, die je kan vergelijken met pagina’s op een website. Je begeleidt de gebruiker door de flow van de bot applicatie en op basis van de keuzes welke de gebruiker maakt geeft je bot een antwoord. Het antwoord kan bestaan uit standaard text, een formulier, bestanden of een rich content object.

rich-content-object – Microsoft bot framework wat is het en hoe werkt het

Voorbeeld van rich content object (titel, subtitel, tekst, grote afbeelding and buttons). Deze kunnen als carousel of als enkel item worden weergegeven.

Er zijn verschillende uitvoeringen beschikbaar.

Verschillende uitvoeringen – Microsoft bot framework wat is het en hoe werkt het

Van <https://docs.botframework.com/en-us/csharp/builder/sdkreference/attachments.html#richcards

Hoe begin je met het maken van een bot?

Ik maak mijn voorbeeld bot in C# het is ook mogelijk om je bot applicatie in node.js te maken.

Om te beginnen heb je het visual studio template nodig. Deze kun je hier downloaden. Sla deze template op in “%USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C#\”

Om je bot te testen heb je de bot emulator nodig. Dit is een applicatie waarmee je lokaal je bot kunt testen en debuggen. Je kunt hem hier downloaden. Na het downloaden kun je de bot emulator installeren.

Start een nieuw visualstudio project op basis van de bot template.

Start-een-nieuw-visualstudio-project – Microsoft bot framework wat is het en hoe werkt het

Je hebt nu een basis bot applicatie om mee te starten.

Als je nu je applicatie start in visual studio en via de bot emulator verbinding maakt naar de url http://localhost:3979/api/messages en je typt ‘hallo’, dan moet je een bericht terugkrijgen van de bot applicatie zoals hieronder.

Bot-Framework-screenshot – Microsoft bot framework wat is het en hoe werkt het

Aan de rechterkant van de bot emulator zie je welke berichten er over en weer gestuurd worden. Deze berichten zijn erg handig voor het debuggen van je applicatie.

Als je in je project in de map controller kijkt, staat daar een controller genaamd ‘MessagesController’. Dit is een web api controller welke de berichten ontvangt die naar je bot gestuurd worden.

Er zijn verschillende activiteiten waar je op kunt inhaken. Je kunt bijvoorbeeld een welkomstbericht sturen zodra iemand met je bot connect.

Web-api – Microsoft bot framework wat is het en hoe werkt het

Vanuit je RootDialog kun je verschillende dialogs oproepen. Ik heb nu als voorbeeld een dialog welke je voornaam, achternaam en geslacht vraagt en je dan een welkomstbericht stuurt.

Web-api-voorbeeld – Microsoft bot framework wat is het en hoe werkt het

In het dialog PersonalInformation wordt gebruikgemaakt van een formulier om je gegevens op te vragen. Dit kunnen tekstvelden zijn maar ook vooraf opgegeven waardes, bijvoorbeeld of je een vrouw of man bent. Tevens kun je validatie toevoegen zodat je de ingevoerde waardes kunt valideren.

Web-api-voorbeeld 2 – Microsoft bot framework wat is het en hoe werkt het

Zodra je het formulier hebt ingevuld krijg je een bericht terug van de bot.

Je kan natuurlijk in een echte bot applicatie een api oproepen met de ingevoerde gegevens en dit als een rich content object naar de gebruiker sturen (zie boven voor de verschillende opties).

Het publiceren van je bot

Als je helemaal tevreden bent met de werking van je bot, kun je hem registreren om hem daadwerkelijk te testen in verschillende kanalen (skype, facebook messenger, slack etc).

Maak een Azure webapplicatie aan zodat je de URL hebt waar je applicatie op komt te draaien (deze heb je nodig bij het registreren).

Log in op https://dev.botframework.com/

Registreer je bot en stel het endpoint in, inclusief ‘/api/messages’ en maak een app id en wachtwoord aan.

Bot-profile – Microsoft bot framework wat is het en hoe werkt het

Voeg het appid en het wachtwoord in de appsettings van je web.config.

Publiceer je bot applicatie naar Microsoft Azure.

Als dit succesvol is gedaan, kun je je bod testen door hem toe te voegen aan skype of aan te melden bij facebook messenger.

Voorbeeld code

De voorbeeld code is te downloaden via https://github.com/marcoippel/mijnbot

Meer informatie

Marco Ippel - VX Company

Marco Ippel

.NET Developer

Stuur Marco een e-mail

Reacties

Er zijn nog geen reacties op dit bericht.

Plaats een reactie

Dit veld is verplicht.

Vul een geldig e-mailadres in.

Dit veld is verplicht.