Créer un bot dans Microsoft TeamsCreate a bot for Microsoft Teams

Pour créer un bot de conversation, procédez comme suit :You'll need to complete the following steps to create a conversational bot:

  1. Préparez votre environnement de développement.Prepare your development environment.
  2. Créez votre service web.Create your web service.
  3. Enregistrez votre service web en tant que bot avec Microsoft Bot Framework.Register your web service as a bot with Microsoft Bot Framework.
  4. Créez votre manifeste d'application et votre package de l’application.Create your app manifest and your app package.
  5. Télécharger votre package dans Microsoft Teams.Upload your package to Microsoft Teams.

La création de votre service web, l'inscription de votre service web et la création de votre package de l'application, avec le Bot Framework, peuvent être effectuées dans n'importe quel ordre. Toutefois, étant donné que les trois éléments sont imbriqués, quel que soit l'ordre dans lequel vous les effectuez, vous devez revenir pour mettre à jour les autres. Creating your web service, registering your web service, and creating your app package, with the Bot Framework can be done in any order; however, because the three pieces are so intertwined, no matter in which order you do them, you'll need to return to update the others. Votre inscription nécessite du point de terminaison de la messagerie à partir de votre service web déployé. votre service web nécessite l’ID et le mot de passe créés à partir de votre inscription.Your registration needs the messaging endpoint from your deployed web service and your web service needs the ID and password created from your registration. Votre manifeste d’application a également besoin de l’ID d’inscription pour connecter les équipes à votre service web.Your app manifest also needs the registration ID to connect Teams to your web service.

Au fur et à mesure que vous construisez votre bot, vous passez régulièrement de la modification de votre manifeste d'application au déploiement de code pour votre service web.As you're building your bot, you'll regularly move between changing your app manifest and deploying code to your web service. Lorsque vous utilisez le manifeste de l’application, gardez à l’esprit que vous pouvez soit manipuler manuellement le fichier JSON, soit effectuer des modifications à l’aide de App Studio.When working with the app manifest, keep in mind you can either manually manipulate the JSON file, or make changes through App Studio. Dans les deux cas, vous devez redéployer (télécharger) votre application dans Teams lorsque vous apportez une modification au manifeste. Toutefois, vous n’avez pas besoin de le faire lorsque vous déployez des modifications apportées à votre service web.Either way, you'll need to re-deploy (upload) your app in Teams when you make a change to the manifest; however, there's no need to do so when you deploy changes to your web service.

Pour plus d’informations sur le Bot Framework, consultez la Documentation Bot Framework.See the Bot Framework Documentation for additional information on the Bot Framework.

Préparer votre environnement de développementPrepare your development environment

La première chose à faire est de préparer votre environnement de développement.The first thing you'll need to do is prepare your development environment. Vous devez vous assurer que le téléchargement d’applications personnalisées est activé pour l’organisation Office 365 que vous souhaitez utiliser pour créer votre application.You'll need to make sure custom app uploading is enabled for the Office 365 organization you want to build your app in. Si vous avez besoin d’un client de développement dédié, vous pouvez vous inscrire au programme pour les développeurs Office 365.If you need a dedicated development tenant, you can sign up for the Office 365 developer program. Pour plus d’informations, consultez la rubrique Configuration de votre environnement de développement.For additional information see Setup your development environment.

Créez votre service webCreate your web service

Le cœur de votre bot est votre service web.The heart of your bot is your web service. Celle-ci permet de définir un itinéraire unique, généralement /api/messages, sur lequel recevoir toutes les demandes.It will define a single route, typically /api/messages, on which to receive all requests. Pour commencer, vous avez le choix entre plusieurs options :To get started, you have a few options to choose from:

  • Commencez par utiliser l’exemple de bot de conversation Teams dans C#/dotnet ou JavaScript.Start with the Teams conversation bot sample in either C#/dotnet or JavaScript.
  • Si vous utilisez JavaScript, utilisez le générateur Yeoman pour Microsoft Teams pour structurer votre application d’équipe, y compris votre service web.If you're using JavaScript, use the Yeoman Generator for Microsoft Teams to scaffold your Teams app, including your web service. Ceci est particulièrement utile lorsque vous créez une application Teams qui contient plusieurs bots de conversation.This is particularly helpful when building a Teams app that contains more than just a conversational bot.
  • Créez votre service web de toutes pièces.Create your web service from scratch. Vous pouvez choisir d’ajouter le kit de développement logiciel (SDK) Bot Framework pour votre langue. Vous pouvez également travailler directement avec les charges utiles JSON.You can choose to add the Bot Framework SDK for your language, or you can work directly with the JSON payloads.

Inscrivez votre service web à l’aide de Bot FrameworkRegister your web service with the Bot Framework

Important

Lorsque vous inscrivez votre service web, assurez-vous d’attribuer au Nom complet le nom que vous avez utilisé pour votre Nom court dans votre manifeste de l’application.When registering your web service, be sure to set the Display name to the same name you used for your Short name in your app manifest. Lorsque votre application est distribuée par téléchargement direct ou via le catalogue d'applications d'une organisation, les messages envoyés à une conversation par votre bot utilisent le Nom complet d'inscription plutôt que le Nom court de l'application.When your app is distributed by either direct uploading or through an organization's app catalog, messages sent to a conversation by your bot will use the registration's Display name rather than the app's Short name.

L'inscription de votre service web au Bot Framework fournit un canal de communication sécurisé entre le client Teams et votre service web.Registering your web service with the Bot Framework provides a secure communication channel between the Teams client and your web service. Le client Teams et votre service Web ne communiquent jamais directement.The Teams client and your web service never communicate directly. Au lieu de cela, les messages sont acheminés par le Bot Framework Service (Microsoft Teams utilise une instance distincte de ce service qui est conforme aux normes Office 365).Instead, messages are routed through the Bot Framework Service (Microsoft Teams uses a separate instance of this service that is compliant with Office 365 standards).

Deux options s’offrent à vous lorsque vous inscrivez votre service web à l’aide de Bot Framework.You have two options when registering your web service with the Bot Framework. Vous pouvez utiliser App Studio ou le Portail hérité pour inscrire votre bot sans utiliser d’abonnement Azure.You can use either App Studio or the legacy portal to register your bot without using an Azure subscription. Ou, si vous avez déjà un abonnement Azure (ou si vous n’avez pas besoin d’en créer un), vous pouvez utiliser le Portail Microsoft Azure pour inscrire votre service web.Or, if you already have an Azure subscription (or don't mind creating one), you can use the Azure portal to register your web service.

Sans abonnement Azure.Without an Azure subscription

Si vous ne souhaitez pas créer votre inscription de bot dans Azure, vous devez utiliser ce lien https://dev.botframework.com/bots/newou App Studio.If you do not wish to create your bot registration in Azure, you must use either this link - https://dev.botframework.com/bots/new, or App Studio. Si vous cliquez sur le bouton Créer un bot dans le portail Bot Framework, vous allez créer l'inscription de votre bot dans Microsoft Azure, et vous devrez fournir un abonnement Azure.If you click on the Create a bot button in the Bot Framework portal, you will create your bot registration in Microsoft Azure, and will need to provide an Azure subscription. Pour gérer votre inscription ou la migrer vers un abonnement Azure après la création, accédez à : https://dev.botframework.com/bots.To manage your registration or migrate it to an Azure subscription after creation go to: https://dev.botframework.com/bots.

Lorsque vous modifiez les propriétés d'une inscription existante au Bot Framework non inscrite dans Azure, celui-ci est répertorié dans la colonne « État de la migration » et un bouton bleu « Migrer » vous permet d’accéder au Portail Microsoft Azure.When you edit the properties of an existing Bot Framework registration not registered in Azure, you'll see A "Migration status" column and a blue "Migrate" button that will take you to the Microsoft Azure portal. Ne sélectionnez pas le bouton « Migrer », sauf s’il s’agit de ce que vous voulez faire.Don't select the "Migrate" button unless that's what you want to do. Au lieu de cela, sélectionnez le nom du bot et modifiez ses propriétés :Instead, select the name of the bot and you can edit its properties:

Modifier les propriétés du bot

Scénarios dans lesquels vous devez faire inscrire votre bot dans Azure (soit en le créant dans le Portail Microsoft Azure, soit via une migration) :Scenarios when you must have your bot registration in Azure (either by creating it in the Azure portal or via migration):

  • Vous voulez utiliser le OAuthPrompt de Bot Framework pour l’authentification.You want to use the Bot Framework's OAuthPrompt for authentication.
  • Vous voulez activer d’autres canaux tels que la conversation web, Direct Line ou Skype.You want to enable additional channels like Web Chat, Direct Line, or Skype.

Utilisation de App StudioUsing App Studio

App Studio est une application de Teams qui vous aide à créer des applications Teams, y compris l’inscription de votre service web en tant que bot, la création d’un manifeste d’application et votre package d’application et la mise à jour des paramètres et des configurations.App Studio is a Teams application that helps you build Teams apps, including registering your web service as a bot, creating an app manifest and your app package, and updating settings and configurations. Elle contient également une bibliothèque de contrôle React et des exemples configurables pour les cartes.It also contains a React control library and configurable samples for cards. Consultez Commencer à gérer App Studio de Teams.See Getting started with Teams App Studio.

N’oubliez pas que si vous utilisez App Studio pour inscrire votre service web, vous devez accéder à https://dev.botframework.com/bots pour gérer votre inscription.Remember, if you use App Studio to register your web service you'll need to go to https://dev.botframework.com/bots to manage your registration.

Dans le portail héritéIn the legacy portal

Créez votre inscription au bot à l’aide de ce lien : https://dev.botframework.com/bots/new.Create your bot registration using this link: https://dev.botframework.com/bots/new. Veillez à ajouter Microsoft Teams sous la forme d’un canal à partir de la liste de chaînes proposées après avoir créé votre bot.Be sure to add Microsoft Teams as a channel from the featured channels list after creating your bot. N’hésitez pas à réutiliser tout ID d’application Microsoft que vous avez généré si vous avez déjà créé votre package d’application/manifeste.Feel free to re-use any Microsoft App ID you generated if you've already created your app package/manifest.

Page d’inscription de Bot Framework

Avec un abonnement AzureWith an Azure subscription

Vous pouvez également inscrire votre service web en créant une ressource d’inscription canaux de bots dans le Portail Microsoft Azure.You can also register your web service by creating a Bot Channels Registration resource in the Azure portal.

  1. Dans le portail Azure, sous Azure services, sélectionnez créer une ressource.In the Azure portal, under Azure services, select Create a resource.

  2. Dans la zone de recherche, entrez « bot ».In the search box enter "bot". Dans la liste déroulante, sélectionnez enregistrement des canaux de robots.And in the drop-down list, select Bot Channels Registration.

  3. Sélectionnez le bouton créer .Select the Create button.

  4. Dans le panneau d’enregistrement du canal bot , fournissez les informations requises concernant votre robot.In the Bot Channel Registration blade, provide the requested information about your bot.

  5. Laissez la zone point de terminaison de messagerie vide pour le moment, vous entrez l’URL requise après le déploiement du bot.Leave the Messaging endpoint box empty for now, you will enter the required URL after deploying the bot. L’image suivante montre un exemple des paramètres d’enregistrement :The following picture shows an example of the registration settings:

    inscription des canaux de l’application bot

  6. Cliquez sur ID d’application Microsoft et mot de passe , puis créez nouveau.Click Microsoft App ID and password and then Create New.

  7. Cliquez sur créer un ID d’application dans le lien portail d’inscription des applications .Click Create App ID in the App Registration Portal link.

  8. Dans la fenêtre inscription de l’application affichée, cliquez sur l’onglet nouvelle inscription dans le coin supérieur gauche.In the displayed App registration window, click the New registration tab in the upper left.

  9. Entrez le nom de l’application bot que vous enregistrez, nous avons utilisé BotTeamsAuth (vous devez sélectionner votre propre nom unique).Enter the name of the bot application you are registering, we used BotTeamsAuth (you need to select your own unique name).

  10. Pour les types de comptes pris en charge , sélectionnez comptes dans n’importe quel annuaire d’organisation (tout annuaire Azure ad-client) et comptes Microsoft personnels (par exemple, Skype, Xbox).For the Supported account types select Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox).

  11. Cliquez sur le bouton Enregistrer .Click the Register button. Une fois terminé, Azure affiche la page de vue d’ensemble de l’application.Once completed, Azure displays the Overview page for the application.

  12. Copier et enregistrer dans un fichier la valeur de l' ID d’application (client) .Copy and save to a file the Application (client) ID value.

  13. Dans le volet gauche, cliquez sur certificat et secrets.In the left panel, click Certificate and secrets.

    1. Sous secrets client, cliquez sur nouvelle clé secrète client.Under Client secrets, click New client secret.
    2. Ajoutez une description pour identifier cette clé secrète auprès d’autres personnes que vous devrez peut-être créer pour cette application.Add a description to identify this secret from others you might need to create for this app.
    3. Définit expire à votre sélection.Set Expires to your selection.
    4. Cliquez sur Ajouter.Click Add.
    5. Copiez la clé secrète client et enregistrez-la dans un fichier.Copy the client secret and save it to a file.
  14. Revenez à la fenêtre d’enregistrement du canal bot et copiez l’ID de l' application et la clé secrète client dans les zones ID de l’application et mot de passe Microsoft , respectivement.Go back to the Bot Channel Registration window and copy the App ID and the Client secret in the Microsoft App ID and Password boxes, respectively.

  15. Cliquez sur OK.Click OK.

  16. Enfin, cliquez sur créer.Finally, click Create.

Une fois que Azure a créé la ressource d’inscription, elle est incluse dans la liste des groupes de ressources.After Azure has created the registration resource it will be included in the resource group list.

Groupe d’enregistrement des canaux de l’application bot

Une fois que vous avez créé votre enregistrement de canaux de robots, vous devez activer le canal Teams.Once your bot channels registration is created, you'll need to enable the Teams channel.

  1. Dans le portail Azure, sous Azure services, sélectionnez l' enregistrement du canal de bot que vous venez de créer.In the Azure portal, under Azure services, select the Bot Channel Registration you just created.
  2. Dans le volet gauche, cliquez sur canaux.In the left panel, click Channels.
  3. Cliquez sur l’icône Microsoft Teams, puis choisissez Enregistrer.Click the Microsoft Teams icon, then choose Save.

Le portail Bot Framework est optimisé pour l’inscription des bots dans Microsoft Azure.The Bot Framework portal is optimized for registering bots in Microsoft Azure. Voici quelques opérations que vous pouvez prendre en compte :Here are some things to know:

  • Le canal Microsoft Teams pour les bots inscrits sur Azure est gratuit.The Microsoft Teams channel for bots registered on Azure is free. Les messages envoyés sur le canal Teams ne sont PAS pris en compte dans les messages consommés pour le bot.Messages sent over the Teams channel will NOT count towards the consumed messages for the bot.
  • Si vous inscrivez votre bot à l’aide de Microsoft Azure, votre code bot n’a pas besoin d’être hébergé sur Microsoft Azure.If you register your bot using Microsoft Azure, your bot code doesn't need to be hosted on Microsoft Azure.
  • Si vous inscrivez un bot à l’aide du Portail Microsoft Azure, vous devez disposer d’un compte Microsoft Azure.If you do register a bot using Microsoft Azure portal, you must have a Microsoft Azure account. Vous pouvez en créer un gratuitement.You can create one for free. Pour vérifier votre identité lorsque vous créez un compte Azure, vous devez fournir une carte de crédit, mais celle-ci ne sera pas débitée. Il est toujours gratuit de créer et d’utiliser des bots avec Microsoft Teams.To verify your identity when you create an Azure account, you must provide a credit card, but it won't be charged; it's always free to create and use bots with Microsoft Teams.

Créez votre manifeste d'application et votre packageCreate your app manifest and package

Votre manifeste d’application définit les métadonnées de votre application, les points d’extension utilisés par votre application et les pointeurs vers les services web auxquels les points d’extension se connectent.Your app manifest defines the metadata for your app, the extension points your app is using, and pointers to the web services those extension points connect to. Vous pouvez utiliser App Studio pour créer votre manifeste d’application ou le créer manuellement.You can either use App Studio to help you create your app manifest, or create it manually.

Ajouter à l’aide de App StudioAdd using App Studio

  1. Dans le client Teams, ouvrez App Studio à partir du menu ... dépassement sur le rail de navigation gauche.In the Teams client, open App Studio from the ... overflow menu on the left navigation rail. Si App Studio n’est pas déjà installé, vous pouvez le faire en le recherchant.If App Studio isn't already installed, you can do so by searching for it.
  2. Dans l’onglet Éditeur de manifeste, sélectionnez Créer une application (ou si vous ajoutez un bot à une application existante, vous pouvez importer votre package d’application)On the Manifest editor tab select Create a new app (or if you're adding a bot to an existing app, you can import your app package)
  3. Ajoutez les détails de votre application (consultez définition de schéma de manifeste pour obtenir une description complète de chaque champ).Add your app details (see manifest schema definition for full descriptions of each field).
  4. Sous l’onglet Bots sélectionnez le bouton Configuration.On the Bots tab select the Setup button.
  5. Vous pouvez soit créer une inscription de service web (Nouveau bot), soit sélectionner Bot existant.You can either create a new web service registration (New bot), or if you've already registered one, select Existing bot.
  6. Sélectionnez les fonctionnalités et les étendues dont votre bot aura besoin.Select the capabilities and scopes your bot will need.
  7. Si nécessaire, mettez à jour votre adresse de point de terminaison de bot pour qu’elle pointe vers votre bot.If necessary, update your bot endpoint address to point to your bot. Celle-ci doit avoir la forme https://someplace.com/api/messages.It should look something like https://someplace.com/api/messages.
  8. Vous pouvez également ajouter des commandes de bot.Optionally, add bot commands.
  9. Vous pouvez également télécharger votre package de l’application terminé à partir de l’onglet tester et distribuer.Optionally, you can download your completed app package from the Test and distribute tab.

Créez-le manuellementCreate it manually

Comme pour les onglets et les extensions de messagerie, vous mettez à jour l’App-manifest pour définir votre bot.As with messaging extensions and tabs, you update the app-manifest to define your bot. Ajoutez une nouvelle structure JSON de niveau supérieur dans votre manifeste d’application avec la propriété bots.Add new top-level JSON structure in your app manifest with the bots property.

NomName TypeType Taille maximaleMaximum size RequisRequired DescriptionDescription
botId StringString 64 caractères64 characters ID d’application Microsoft unique pour le bot inscrit dans le Bot Framework.The unique Microsoft app ID for the bot as registered with the Bot Framework. Il peut s’agir d’une ID d’application globale.This may well be the same as the overall app ID.
needsChannelSelector BooleanBoolean Indique si le bot utilise ou non un indicateur d’utilisateur pour ajouter le bot à un canal spécifique.Describes whether or not the bot utilizes a user hint to add the bot to a specific channel. La valeur par défaut est false.Default: false.
isNotificationOnly BooleanBoolean Indique si un bot est unidirectionnel, de notification uniquement, par opposition à un bot conversationnel.Indicates whether a bot is a one-way, notification-only bot, as opposed to a conversational bot. La valeur par défaut est false.Default: false.
supportsFiles BooleanBoolean Indique si le bot prend en charge la possibilité de télécharger des fichiers dans une conversation personnelle.Indicates whether the bot supports the ability to upload/download files in personal chat. La valeur par défaut est false.Default: false.
scopes Tableau de l’énumArray of enum 33 Indique si le bot offre une expérience dans le contexte d’un canal dans une team, dans une conversation de groupe (groupchat) ou dans une expérience limitée à un utilisateur individuel (personal).Specifies whether the bot offers an experience in the context of a channel in a team, in a group chat (groupchat), or an experience scoped to an individual user alone (personal). Ces options ne sont pas exclusives.These options are non-exclusive.

Vous pouvez également définir une ou plusieurs listes de commandes que votre bot peut recommander aux utilisateurs.Optionally, you can define one or more lists of commands that your bot can recommend to users. L’objet est un tableau (maximum de 2 éléments) avec tous les éléments de type object.The object is an array (maximum of 2 elements) with all elements of type object. Vous devez définir une liste de commandes distincte pour chaque étendue prise en charge par votre bot.You must define a separate command list for each scope that your bot supports. Pour plus d’informations, consultez la rubriqueMenus du Bot .See Bot menus, for more information.

NomName TypeType Taille maximaleMaximum size RequisRequired DescriptionDescription
items.scopes tableau de l’énumarray of enum 33 Spécifie l’étendue pour laquelle la liste de commandes est valide.Specifies the scope for which the command list is valid. Les options sont team, personal et groupchat.Options are team, personal, and groupchat.
items.commands tableau d’objetsarray of objects 1010 Ensemble de commandes prises en charge par le bot :An array of commands the bot supports:
title: nom de la commande bot (chaîne, 32)title: the bot command name (string, 32)
description : description simple ou exemple de la syntaxe de commande et de son argument (chaîne, 128)description: a simple description or example of the command syntax and its argument (string, 128)

Exemple de manifeste simpleSimple manifest example

L’exemple ci-dessous est un objet bot simple, avec deux listes de commandes définies.The example below is a simple bot object, with two command lists defined. Il ne s’agit pas de la totalité du fichier manifeste de l’application, uniquement de la partie spécifique aux extensions de messagerie.This is not the entire app manifest file, just the part specific to messaging extensions.

...
  "bots": [
    {
      "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
      "needsChannelSelector": false,
      "isNotificationOnly": false,
      "scopes": [ "team", "personal", "groupchat" ],
      "supportsFiles": true,
      "commandLists": [
        {
          "scopes": [ "team", "groupchat" ],
          "commands": [
            {
              "title": "Command 1",
              "description": "Description of Command 1"
            },
            {
              "title": "Command N",
              "description": "Description of Command N"
            }
          ]
        },
        {
          "scopes": [ "personal", "groupchat" ],
          "commands": [
            {
              "title": "Personal command 1",
              "description": "Description of Personal command 1"
            },
            {
              "title": "Personal command N",
              "description": "Description of Personal command N"
            }
          ]
        }
      ]
    }
  ],
...

Créer manuellement votre package de l’applicationCreate your app package manually

Pour créer un package de l’application, vous devez ajouter votre manifeste d’application et (éventuellement) vos icônes d’application dans un fichier archive .zip.To create an app package, you need to add your app manifest and (optionally) your app icons to a .zip archive file. Pour plus d’informations, consultez Créer votre package d’application.See Create your app package for complete details. Assurez-vous que l’archive .zip contient uniquement les fichiers nécessaires et qu'elle ne contient aucune autre structure de dossier.Make sure your .zip archive contains only the necessary files, and has no additional folder structure inside of it.

Télécharger votre package dans Microsoft TeamsUpload your package to Microsoft Teams

Notes

Pour charger votre robot, l’administrateur de votre client doit d’abord autoriser le chargement d’applications tierces ou personnalisées dans Teams.To successfully upload your bot, your tenant admin must first allow uploading third-party or custom apps in Teams.

Si vous utilisez App Studio, vous pouvez installer votre application à partir de l'onglet Tester et distribuer de l’Éditeur de manifeste.If you've been using App Studio, you can install your app from the Test and distribute tab of the Manifest editor. Vous pouvez également installer votre package d’application en cliquant sur le menu ... dépassement sur le rail gauche de la barre de navigation, en cliquant sur Autres applications, puis sur le lien Télécharger une application personnalisée.Alternatively, you can install your app package by clicking the ... overflow menu from the left navigation rail, clicking More apps, then the Upload a custom app link. Vous pouvez également importer un manifeste d’application ou un package d’application dans App Studio pour effectuer des mises à jour supplémentaires avant de les télécharger.You can also import an app manifest or app package into App Studio to make additional updates before uploading.

Robots dans les réunions TeamsBots in Teams meetings

Teams prend en charge l’invocation des robots pendant les réunions.Teams supports bot invocation during meetings. Lorsque votre robot reçoit le message d’appel, il peut identifier l’utilisateur et le client grâce à userId et tenantId.When your bot receives the invoke message, it can identify the user and tenant from userId and tenantId. meetingId fait partie de l’objet channelData.The meetingId can be found as part of the channelData object. Votre robot peut utiliser userId et meetingId pour la demande d’API GetParticipant afin de récupérer les rôles d’utilisateur.Your bot can use the userId and meetingId for the GetParticipant API request to retrieve user roles.

Étapes suivantesNext steps