Adicionar um menu de bot no Microsoft TeamsAdd a bot menu in Microsoft Teams

Importante

Este artigo é baseado no SDK da Estrutura de Bot v3.This article is based on the v3 Bot Framework SDK. Se você estiver procurando a documentação atual versão 4.6 ou posterior do SDK, consulte a seção de bots de conversação.If you are looking for current documentation version 4.6 or later of the SDK, see the conversational bots section.

Para ajudar a descoberta e ajudar a instruir os usuários sobre a funcionalidade do bot, agora você pode adicionar menus que aparecerão sempre que o usuário interagir com seu 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. O menu mostrará o texto do comando e também fornecerá texto de ajuda, como um exemplo de uso ou descrição da finalidade do comando.The menu will show the command text and also provide help text, such as a usage example or description of the command’s purpose.

Captura de tela do menu bot

Quando um usuário seleciona um item de menu, a cadeia de caracteres de comando é inserida na caixa de texto para ajudar na conclusão do usuário da mensagem 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.

Suporte ao menu bot no aplicativo móvel do TeamsBot menu support on Teams mobile app

Observação

Os menus bot não são exibidos em dispositivos móveisBot menus are not displayed on mobile devices

Manifesto do aplicativoApp manifest

Para criar um menu bot, adicione um novo objeto ao commandLists manifesto do aplicativo na seção bot.To create a bot menu, add a new commandLists object to your app manifest under the bot section. Você pode declarar menus individuais com comandos separados para cada escopo que seu bot oferece suporte ( , ou ) Cada menu dá suporte personal groupChat a até team 10 comandos.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.

Trecho de manifesto - menu único para ambos os escoposManifest 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"
            }
          ]
        }
      ]
    }
  ],
  ...
}

Trecho de manifesto - menu separado por escopoManifest 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"
            }
          ]
        }
      ]
    }
  ],
  ...
}

Práticas recomendadasBest practices

  • Mantenha-o simples: o menu bot deve apresentar os principais recursos do bot.Keep it simple: The bot menu is meant to present the key capabilities of your bot.
  • Resumindo: as opções de menu não devem ser instruções de linguagem natural extremamente longas e complexas - devem ser comandos simples.Keep it short: Menu options shouldn’t be extremely long and complex natural language statements - they should be simple commands.
  • Sempre disponível: ações/comandos de menu bot devem ser sempre invocados, independentemente do estado da conversa ou da caixa de diálogo em que o bot está.Always available: Bot menu actions/commands should be always invokable, regardless of the state of the conversation or the dialog the bot is in.