Добавление меню "bot" в Microsoft TeamsAdd a bot menu in Microsoft Teams

Важно!

Статьи, приведенные в этом разделе, основаны на пакете SDK "V3 Bot Framework".The articles in this section are based on the v3 Bot Framework SDK. Если вы ищете текущую документацию (версия 4,6 или более поздняя версия пакета SDK), ознакомьтесь с разделом " беседы Боты ".If you're looking for current documentation (version 4.6 or later of the SDK) see the Conversational Bots section.

Чтобы упростить обнаружение и облегчить обучение пользователей функциям Bot, теперь можно добавлять меню, которые отображаются каждый раз, когда пользователь взаимодействует с роботом.To aid discovery and to help educate users about your bot’s functionality, you can now add menus that surface whenever the user interacts with your bot. В меню отображается текст команды, а также текст справки, например, пример использования команды или описание ее назначения.The menu will show the command text and also provide help text, such as a usage example or description of the command’s purpose.

Снимок экрана: меню Bot

Когда пользователь выбирает элемент меню, в текстовое поле вставляется Командная строка, чтобы помочь пользователю завершить сообщение ленты.When a user selects a menu item, the command string is inserted into the text box to aid in user completion of the bot message.

Поддержка меню Bot в мобильном приложении TeamsBot menu support on Teams mobile app

Примечание

Меню ленты не отображаются на мобильных устройствахBot menus are not displayed on mobile devices

Манифест приложенияApp manifest

Чтобы создать меню Bot, добавьте новый commandLists объект в манифест приложения в разделе "bot".To create a bot menu, add a new commandLists object to your app manifest under the bot section. Вы можете объявить отдельные меню с отдельными командами для каждой области,personal groupChat которую поддерживает Bot team(или) каждое меню поддерживает до 10 команд.You can declare individual menus with separate commands for each scope your bot supports (personal, groupChat or team) Each menu supports up to 10 commands.

Фрагмент манифеста — одно меню для обеих областейManifest excerpt - single menu for both scopes

{
  ⋮
  "bots":[
    {
      "botId":"[Microsoft App ID for your bot]",
      "scopes": [
        "personal",
        "team"
      ],
      "commandLists":[
        {
          "scopes":[
            "team",
            "personal"
          ],
          "commands":[
            {
              "title":"Help",
              "description":"Displays this help message"
            },
            {
              "title":"Search Flights",
              "description":"Search flights from Seattle to Phoenix May 2-5 departing after 3pm"
            },
            {
              "title":"Search Hotels",
              "description":"Search hotels in Portland tonight"
            },
            {
              "title":"Best Time to Fly",
              "description":"Best time to fly to London for a 5 day trip this summer"
            }
          ]
        }
      ]
    }
  ],
  ...
}

Выдержка — разделяет меню на областьManifest excerpt - separate menu per scope

{
  ...
  "bots":[
    {
      "botId":"[Microsoft app ID for your bot]",
      "scopes": [
        "groupChat",
        "team"
      ],
      "commandLists":[
        {
          "scopes":[
            "team"
          ],
          "commands":[
            {
            "title":"help",
            "description":"Displays this help message for channels"
            }
          ]
        },
        {
          "scopes":[
            "groupChat"
          ],
          "commands":[
            {
            "title":"help",
            "description":"Displays this help message for group chat"
            }
          ]
        }
      ]
    }
  ],
  ...
}

РекомендацииBest practices

  • Для простоты сделайте следующее: меню Bot предназначено для представления ключевых возможностей робота.Keep it simple: The bot menu is meant to present the key capabilities of your bot.
  • Не забудьте: параметры меню не должны быть чрезвычайно длинными и сложными естественными языками — они должны быть простыми командами.Keep it short: Menu options shouldn’t be extremely long and complex natural language statements - they should be simple commands.
  • Всегда доступно: действия и команды меню "bot" всегда могут вызываться, независимо от состояния беседы или диалогового окна, в котором находится Bot.Always available: Bot menu actions/commands should be always invokable, regardless of the state of the conversation or the dialog the bot is in.