English
Français

Blog of Denis VOITURON

for a better .NET world

Microsoft Teams - Créer un Bot en C#

Posted on 2020-12-29

Dans cet article, nous allons créer un Microsoft Teams Bot développé en C#, en utilisant le SDK de Microsoft. Ensuite, nous l’hébergerons dans Azure et nous le publierons dans le Teams de votre entreprise. Vous pouvez ainsi adapter le code C# facilement pour améliorer la discussion avec votre Bot.

Les étapes sont :

  1. Développer un Bot en C#
  2. Tester le Bot localement
  3. Publier le Bot dans Azure
  4. Créer un Bot Channels Registration
  5. Configurer le canal Teams
  6. Créer un package de déploiement pour Teams
  7. Installer le package dans Teams

Développer un Bot en C#

Pour créer un Bot, il existe plusieurs modèles proposés par Microsoft. Le plus simple est d’utiliser le modèle Echo qui contient une API qui retourne le texte écrit par l’utilisateur.

  1. Installez Kit SDK .net Core version 3,1 ou ultérieure.

  2. Installez le modèle C# de bot Framework Echo.
    dotnet new -i Microsoft.Bot.Framework.CSharp.EchoBot
    
  3. Créez un projet Bot à l’aide de la commande suivante.
    dotnet new echobot --name MyEchoBot
    
  4. Ouvrez le projet avec Visual Studio ou VSCode et démarrez le en mode Release. Votre navigateur affiche une page Your bot is ready! et signale qu’il est possible de tester localement le Bot, via l’émulateur.

En mode Debug, il est possible qu’une erreur Object reference not set s’enclenche lors de la première connexion de l’émulateur de test.

Tester le Bot localement

  1. Téléchargez et installez le Bot Framework Emulator.

  2. Appuyez sur le bouton [Open Bot] et utilisez l’URL http://localhost:3978/api/messages.

  3. Vous pouvez discuter avec le Bot : le message “Bonjour” est affiché par le Bot, en retour.

Open Bot

Le message d’accueil et les retours sont gérés via la classe Echo/EchoBot.cs.

Publier le Bot dans Azure

Une fois les tests locaux effectués, vous pouvez déployer ce code dans une web application de Azure.

  1. Dans Azure, créez une nouvelle Web App supportant le stack .NET Core 3.1.

  2. Dans Visual Studio, publiez votre projet depuis le menu Build / Publish / Folder.

  3. Via FTP, par exemple, copiez le résultat de la publication locale bin\Release\netcoreapp3.1\publish vers le dossier Azure site\wwwroot.

Une fois publié, vous ne pouvez pas encore tester ce projet, sans créer un Bot Channel (ci-dessous).

Créer un Bot Channels Registration

Pour pouvoir utiliser ce Bot, il faut créer une Azure Bot Channels Registration :

  1. Dans Azure, ajoutez un service Bot Channels Registration.
    • Bot handler: MyEchoBot-Channel
    • Princing: F0 (Gratuit)
    • Messaging endpoint: https://YOUR_URL.azurewebsites.net/api/messages
  2. Dans la section Settings, copiez le Microsoft App ID.

  3. Dans la section Settings / Manage, ajoutez une nouvelle Client secrets et copiez la valeur générée (App Password).

  4. Modifiez le fichier AppSettings.json hébergé dans la Web App précédente et collez ces deux clés.
{
  "MicrosoftAppId": "1234abab-8a37-1234-85b2-5903ead01234",
  "MicrosoftAppPassword": "JDUDDZN5qD6LGQFT-.6Ozo3HYGR~hysh~c"
}
  1. Redémarrez la Web App pour tenir compte de ces paramètres de configuration.

  2. Maintenant, vous pouvez tester votre Bot, via la section Test in Web Chat dans le Bot Channel.

Configurer le canal Teams

Dans Azure Bot Channel, configurez le canal Teams.

  1. Via la section Channels, ajoutez un canal Teams.

  2. Cliquez sur le bouton Teams et enregistrez les paramètres par défaut (Messaging, Calling, Publish).

Créer un package de déploiement pour Teams

Depuis votre application Teams, installer l’application App Studio pour configurer un package à déployer dans le Teams de votre entreprise.

  1. Installez l’application App Studio, depuis l’icône Apps présente dans la barre de gauche.

    Channel Teams

  2. Depuis l’onglet Manifest Editor, créez une nouvelle App.

    Channel Teams

  3. Remplissez les zones de détails du package :
    • Short name: MyApp
    • Full name: My application
    • App ID: générez un nouvel ID
    • Package name: exemple “com.dvoituron.teams.myapp”
    • Version: 1.0.0
    • Descriptions
    • Developer information
    • App URLs: https://dvoituron.com
  4. Dans la section Capabilities (à gauche), créez un nouveau Bot.

    • Sélectionnez Existing Bot
    • Encodez le Bot ID (MicrosoftAppId) récupéré dans la partie Bot Channels Registration ci-dessus et copié dans le fichier AppSettings.json.

    Channel Teams

  5. Télécharger le package à déployer dans le Teams de votre entreprise. Ce fichier est un ZIP contenant le manifest (json) et les icônes.

    • Dans la section Finish / Test and distribute, cliquez sur le bouton Download.

Installer le package dans Teams

Il existe plusieurs moyens pour publier un package. Personnellement, je préfère celui qui utilise l’interface d’administration de Office 365.

  1. Connectez-vous sur le portail d’administration de Teams : https://admin.teams.microsoft.com/.

  2. Dans ce Teams Admin Center, sélectionnez la rubrique Teams App / Manage Apps et ajoutez le package créé précédemment.

  3. (Optionnel) Dans la rubrique Teams App / App Setup, pour la stratégie Globale, ajoutez cette nouvelle application et la rendre accessible à tous vos utilisateurs.

  4. Chaque utilisateur peut ajouter cette application, via la section Applications de Teams et l’ajouter pour discuter avec ce Bot.

Resources

Cet article se base sur ces resources :

Langues

EnglishEnglish
FrenchFrançais

Suivez-moi

Articles récents