Construire un chatbot amélioré avec Watson Conversation

Nous allons voir dans ce qui suit comment déployer un bot sur IBM Cloud et comment le rendre accessible depuis une page web, Facebook messenger, le tout en -10 minutes ! Cette app vous permet aussi de modifier des données utilisateur, d’ajouter des fonctionnalités, des interactions et des boutons d’affichage aisément.

Les ingrédients nécessaires :

  • compte IBM cloud: un compte d’essai suffit si vous n’avez pas encore de compte sur la plateforme
  • compte Facebook pour l’intégration Messenger. Optionnel.
  • compte Telegram pour l’intégration Telegram. Optionnel
  • Espace Watson Conversation : nous savons créer un exemple en Français sur notre répertoire GitHub

Plus d’informations sur notre GitHub : https://github.com/cyrillebenoit/conversationMaster

Version webapp  : http://conversationmaster-main.mybluemix.net

Version Telegram : https://t.me/ConversationMasterBot

Les étapes

Etape 1 : déployer sur IBM Cloud

1 la première chose à faire est de déployer l’application exemple sur IBM Cloud

2 Dans cet exemple, nous appelons l’application « sample » et le lien sera : sample.mybluemix.net

Etape 2 : Créer une nouvelle page Facebook

1 Aller sur la page https://www.facebook.com/pages/create/

2 Créer une (nouvelle) app

Etape 3 : Créer une nouvelle application Facebook

1 Aller sur https://developers.facebook.com

2 Connectez-vous et créer une nouvelle application

3 Choisissez App for Messenger et créez votre identifiant (App ID)

4 Sélectionnez votre nouvelle Page dans le champ Token Generation

5 Copier la page Access Token

6 Aller sur le Dashboard et copier votre clé secrète

Etape 4 : Créer un nouveau bot Telegram

1 Sur Telegram, démarrez une nouvelle conversation avec @BotFather

2 Dites « /newbot » et donnez un nom et un nom utilisateur

3 Copiez le http token qui est généré par BotFather

4 Créer un webhookEndpoint pour Telegram (./webhook1234) et copiez-le pour plus tard

Etape 5 : Créer (ou importer) un espace Watson Conversation

1 Ouvrez l’outil Watson Conversation et créez (ou importez) un nouvel espace de travail

2 Cliquez sur les 3 points et choisissez View details

3 Copiez l’identifiant Workspace

Etape 6 : Configurer les variables dans IBM Cloud

Pour fonctionner, votre application IBM Cloud a besoin de plusieurs variables d’environnement

1 Allez sur https://bluemix.net puis sur la partie Runtime de votre application créée. Cliquez sur les variables d’environnement (Environment variables)

2 Utilisez le Page Access Token que vous avez précédemment copié de Messenger_Page_Token

3 Utilisez la clé secrète de Messenger_App_Secret

4 Donnez un Messenger_Verify_token et gardez-le pour plus tard

5 Créez un webhook endpoint pour Facebook Messenger comme vous l’avez fait pour Telegram. Ce sera votre Messenger_WEBHOOKENDPOINT

6 Donnez votre TELEGRAM_AUTH_TOKEN et TELEGRAM_WEBHOOKENDPOINT (que vous avez sauvegardé)

7 Donnez votre WORKSPACE_ID

Etape 7 : Configurer le Facebook webhooks

1 Cliquez sur configurer le webhooks

2 Utilisez https://sample.mybluemix.net/messenger/MESSENGER_WEBHOOKENDPOINT (attention : ne faites pas un copier-coller du lien)

3 Sélectionnez les messages, messages_deliveries, messaging_postbacks, messaging_options

Etape 8 : Configurer le Telegram webhooks

1 Ouvrez la page : https://api.telegram.org/botHTTP_TOKEN/setWebhook?url=https://sample.mybluemix.net/telegram/TELEGRAM_WEBHOOKENDPOINT

Etape 9 : C’est fini !

Votre application est maintenant déployée et accessible depuis le web ou Messenger ou Telegram ! Mais pour le moment, vous êtes le seul à pouvoir utiliser l’application Facebook. Si vous voulez que tout le monde utilise votre chatbot à travers la page Facebook, vous devez les ajouter comme Testeurs ou Développeurs.

Sur https://github.com/cyrillebenoit/conversationMaster, vous trouvez plus de détails et de documentations sur coder étendre le code et comment utiliser l’ensemble des codes disponibles (boutons pour des réponses préprogrammés).

Si vous avez le moindre problème, n’hésitez pas à me contacter.

Cyrille Benoit