Создание бота беседы Teams
Чат-бот Microsoft Teams позволяет пользователям взаимодействовать с веб-службой с помощью текста, интерактивных карточек и диалоговых окон (которые в TeamsJS версии 1.x называются модулями задач). Основные беседы обрабатываются через соединитель Bot Framework, один REST API. Этот API позволяет боту взаимодействовать с Teams и другими каналами.
Основные функции пакета SDK Bot Builder
- Предоставляет доступ к соединителю Bot Framework.
- Управляет потоком и состоянием беседы.
- Включает когнитивные службы, такие как обработка естественного языка (NLP).
При добавлении бота в группу или команду отправляется вводное сообщение. В сообщении содержится краткое описание функций бота и способы их использования.
Это пошаговое руководство поможет вам создать бот беседы в приложении Teams. Вы увидите следующие выходные данные:
Предварительные условия
Убедитесь, что установлены следующие средства и настроена среда разработки:
Установка | Для использования... | |
---|---|---|
Учетная запись разработчика Microsoft 365 | Доступ к учетной записи Teams с соответствующими разрешениями для установки приложения. | |
Visual Studio 2022 | Вы можете установить корпоративную версию в Visual Studio 2022, а также рабочие нагрузки ASP.NET и веб-разработки. Используйте последнюю версию. | |
Пакет SDK для .NET Core | Настраиваемые привязки для локальной отладки и Функции Azure развертываний приложений. Если вы не установили последнюю версию, установите переносимую версию. | |
Microsoft Teams | Microsoft Teams для совместной работы со всеми пользователями, с которыми вы работаете, с помощью приложений для чата, собраний и звонков в одном месте | |
Туннель разработки | Функции приложений Teams (диалоговые боты, расширения сообщений и входящие веб-перехватчики) требуют входящих подключений. Туннель соединяет систему разработки с Teams. Туннель разработки — это мощный инструмент для безопасного открытия локального узла в Интернете и контроля доступа. Туннель разработки доступен в Visual Studio 2022 версии 17.7.0 или более поздней. или вы также можете использовать ngrok в качестве туннеля для подключения системы разработки к Teams. Он не требуется для приложений, которые содержат только вкладки. Этот пакет устанавливается в каталоге проекта (с помощью npm devDependencies ). |
Примечание.
После скачивания ngrok зарегистрируйтесь и установите authtoken.
Настройка локальной среды
Откройте Microsoft-Teams-Samples.
Выберите Код.
В раскрывающемся меню выберите Открыть с помощью GitHub Desktop.
Выберите Клонировать.
Регистрация приложения Microsoft Entra
Зарегистрируйте бота в службе Azure Bot при разработке и размещении в Azure. Для этого выполните следующие шаги.
Зарегистрируйте бот в службе Azure Bot.
Создайте секрет клиента, который включает проверку подлинности бота с единым входом.
Добавьте канал Teams для развертывания бота.
Создайте туннель к конечным точкам веб-сервера с помощью туннеля разработки (рекомендуется) или ngrok.
Добавьте конечную точку обмена сообщениями в созданный туннель разработки.
Добавление регистрации приложения
Перейдите к портал Azure.
Выберите Регистрация приложений.
Выберите + Новая регистрация.
Введите имя приложения.
Выберите Учетные записи в любом каталоге организации (любой клиент Microsoft Entra ID — мультитенантный).
Нажмите Зарегистрировать.
Приложение зарегистрировано в Microsoft Entra ID. Откроется страница обзора приложения.
Примечание.
Сохраните идентификатор приложения из идентификатора приложения (клиента) и каталога (клиента) для дальнейшего использования.
Создание туннеля
Откройте Visual Studio.
Выберите Открыть проект или решение.
Перейдите в microsoft-Teams-Samples > bot-conversation >> csharp.
Выберите TeamsConversationBot.sln файл.
Откроется окно обзора.
В раскрывающемся списке отладки выберите Dev Tunnels (без активного туннеля)>Создать туннель....
Открывается всплывающее окно.
Обновите следующие сведения во всплывающем окне:
- Учетная запись. Введите учетную запись Майкрософт или GitHub.
- Имя: введите имя туннеля.
- Тип туннеля: в раскрывающемся списке выберите Временный.
- Доступ: в раскрывающемся списке выберите Общедоступный.
Нажмите OK.
Появится всплывающее окно, показывающее, что туннель разработки успешно создан.
Нажмите OK.
Созданный туннель можно найти в раскрывающемся списке отладки следующим образом:
Нажмите клавишу F5 , чтобы запустить приложение в режиме отладки.
Если появится диалоговое окно Предупреждение системы безопасности , выберите Да.
Открывается всплывающее окно.
Нажмите Продолжить.
В новом окне браузера откроется домашняя страница туннеля разработки, и туннель разработки теперь активен.
Перейдите в Visual Studio и выберите Просмотреть выходные > данные.
В раскрывающемся меню консоли вывода выберите Dev Tunnels (Туннели разработки).
В консоли вывода отображается URL-адрес туннеля разработки.
Добавление веб-проверки подлинности
В левой области в разделе Управление выберите Проверка подлинности.
Выберите Добавить веб-сайт платформы>.
Введите URI перенаправления для приложения, добавив
auth-end
к полному доменному имени. Например,https://your-devtunnel-domain/auth-end
илиhttps://your-ngrok-domain/auth-end
.В разделе Неявное предоставление и гибридные потоки установите флажки Маркеры доступа и маркеры идентификаторов .
Нажмите Настроить.
В разделе Интернет выберите Добавить URI.
Введите
https://token.botframework.com/.auth/web/redirect
.Выберите Сохранить.
Создание секрета клиента
В левой области в разделе Управление выберите Сертификаты & секреты.
В разделе Секреты клиента выберите + Новый секрет клиента.
Откроется окно Добавление секрета клиента .
Введите Описание.
Нажмите Добавить.
В разделе Значение выберите Копировать в буфер обмена , чтобы сохранить значение секрета клиента для дальнейшего использования.
Добавление разрешений API
В левой области выберите Разрешения API.
Выберите + Добавить разрешение.
Выберите Microsoft Graph.
Выберите Разрешения приложения.
Выберите User>User.Read.All.
Выберите Добавить разрешения.
Примечание.
- Если приложению не предоставлено согласие ИТ-администратора, пользователи должны предоставить согласие при первом использовании приложения.
- Пользователи должны согласиться на разрешения API только в том случае, если приложение Microsoft Entra зарегистрировано в другом клиенте.
Добавление URI идентификатора приложения
В области слева в разделе Управление выберите Предоставить API.
Рядом с полем URI идентификатора приложения нажмите кнопку Добавить.
Обновите URI идентификатора
api://your-devtunnel-domain/botid-{AppID}
приложения в формате илиapi://your-ngrok-domain/botid-{AppID}
и нажмите кнопку Сохранить.На следующем рисунке показано доменное имя:
Добавление область
В области слева в разделе Управление выберите Предоставить API.
Выберите + Добавить область.
Введите access_as_user в качестве имени области.
В разделе Кто может предоставить согласие? выберите Администраторы и пользователи.
Обновите значения остальных полей следующим образом:
Введите Teams может получить доступ к профилю пользователякак Администратор отображаемое имя согласия.
Введите Позволяет Teams вызывать веб-API приложения в качестве текущего пользователяв качестве Администратор описание согласия.
Введите Teams для доступа к профилю пользователя и отправлять запросы от имени пользователя в качестве отображаемого имени согласия пользователя.
Введите Включить Teams для вызова API этого приложения с теми же правами, что и у пользователя , в описании согласия пользователя.
Убедитесь, что параметру Состояние присвоено значение Включено.
Нажмите кнопку Добавить область.
На следующем рисунке показаны поля и значения:
Примечание.
Имя области должно совпадать с URI идентификатора приложения с
/access_as_user
добавлением в конце.
Добавление клиентского приложения
В области слева в разделе Управление выберите Предоставить API.
В разделе Авторизованные клиентские приложения определите приложения, которые вы хотите авторизовать для веб-приложения вашего приложения.
Выберите + Добавить клиентское приложение.
Добавьте мобильное или классическое приложение Teams и веб-приложение Teams.
Для мобильных или классических приложений Teams: введите идентификатор клиента как
1fec8e78-bce4-4aaf-ab1b-5451cc387264
.Для веб-сайта Teams: введите идентификатор клиента как
5e3ce6c0-2b1f-4285-8d4b-75ee78787346
.
Установите флажок Авторизованные области .
Нажмите кнопку Добавить приложение.
На следующем рисунке отображается идентификатор клиента:
Создание бота
Создание ресурса бота Azure
Примечание.
Если вы уже тестируете бот в Teams, выйдите из этого приложения и Teams. Чтобы увидеть это изменение, войдите еще раз.
Перейдите на домашнюю страницу.
Выберите + Создать ресурс.
В поле поиска введите Azure Bot.
Выберите ВВОД.
Выберите Azure Bot.
Нажмите Создать.
Введите имя бота в поле Дескриптор бота.
Выберите свою подписку в раскрывающемся списке.
Выберите свою группу ресурсов в раскрывающемся списке.
Если у вас нет существующей группы ресурсов, можно создать новую группу ресурсов. Чтобы создать новую группу ресурсов, выполните следующие действия.
- Выберите Создать.
- Введите имя ресурса и нажмите кнопку ОК.
- Выберите расположение в раскрывающемся списке Расположение новой группы ресурсов .
В разделе Цены выберите Изменить план.
Выберите FO Free>Select.
В разделе Идентификатор приложения Майкрософт выберите Тип приложения в качестве мультитенантного.
В поле Тип создания выберите Использовать существующую регистрацию приложения.
Введите идентификатор приложения.
Примечание.
Нельзя создать несколько ботов с одним идентификатором приложения Майкрософт.
Выберите Проверить и создать.
После завершения проверки нажмите кнопку Создать.
Подготовка бота занимает несколько минут.
Выберите пункт Перейти к ресурсу.
Вы успешно создали бот Azure.
Добавление канала Teams
В левой области выберите Каналы.
В разделе Доступные каналы выберите Microsoft Teams.
Установите флажок, чтобы принять условия предоставления услуг.
Выберите Принять.
Нажмите Применить.
Добавление конечной точки обмена сообщениями
Используйте URL-адрес туннеля разработки в консоли вывода в качестве конечной точки обмена сообщениями.
В левой области в разделе Параметры выберите Конфигурация.
Обновите конечную точку обмена сообщениями в формате
https://your-devtunnel-domain/api/messages
.Нажмите Применить.
Вы успешно настроили бот в службе Azure Bot.
Примечание.
Если ключ инструментирования Application Insights отображает ошибку, обновите идентификатор приложения.
Настройка подключения к службе бота
Настройте бота, чтобы понять, как аутентифицировать бот беседы в Teams, создать пакет приложения Teams и отправить его в организацию.
- Обновите файл appsettings.json в Visual Studio.
- Обновите файл manifest.json в Visual Studio и сожмите его до ZIP-файла в проводник.
- Запустите решение в Visual Studio.
- Отправьте бота в Teams.
Обновление appsettings
В проводник перейдите к microsoft-Teams-Samples>bot-conversation>>csharp.
Откройте файл appsettings.json в Visual Studio и обновите конфигурацию бота.
- Установите значение
"MicrosoftAppType"
Мультитенантный. - Задайте
"MicrosoftAppId"
для бота идентификатор приложения Майкрософт. - Задайте
"MicrosoftAppPassword"
значение секретов клиента бота. - Задайте для идентификатора
"MicrosoftAppTenantId"
клиента.
- Установите значение
Выберите Сохранить.
Обновление манифеста
В проводник перейдите к microsoft-Teams-Samples>>bot-conversation>csharp>TeamsApp>appPackage.
Откройте файл manifest.json в Visual Studio и внесите следующие изменения:
- Замените
"id"
и"botId"
на идентификатор приложения Майкрософт бота. - Замените
"validDomains"
домен ngrok, заhttps://
исключением .
- Замените
Запакуйте содержимое папки appPackage , чтобы создать manifest.zip.
Примечание.
Объект
manifest.zip
не должен содержать другие папки. В zip-папке должен бытьmanifest json
исходный файл,color
значок иoutline
значок. Запустите решение в Visual Studio и отправьте манифест в демонстрационном клиенте для организации или в учетную запись Teams.
Запуск решения в Visual Studio
Откройте Visual Studio.
Выберите Файл>Открыть>проект/решение.....
Перейдите в microsoft-Teams-Samples>bot-conversation>>csharp.
Выберите TeamsConversationBot.c#proj file (Файл TeamsConversationBot.c#proj ).
Выберите F5 , чтобы запустить проект.
Выберите Да , чтобы установить сертификат.
Появится веб-страница с сообщением Ваш бот готов!
Отправка приложения в Teams
В клиенте Teams щелкните значок Приложения .
Выберите Управление приложениями
Выберите Отправить приложение.
Найдите параметр Отправить пользовательское приложение. Если параметр отображается, включена отправка пользовательского приложения.
Примечание.
Если вы не найдете параметр для отправки пользовательского приложения, обратитесь к администратору Teams.
Нажмите кнопку Открыть , чтобы отправить файл .zip, созданный в папку appPackage .
Нажмите Добавить.
Вы можете взаимодействовать с ботом.
Взаимодействие с ботом беседы
Вы можете взаимодействовать с ботом в Teams, отправив ему сообщение или выбрав команду из списка команд. Бот реагирует на строки.
В левой области Teams выберите Дополнительные добавленные приложения (●●●), а затем выберите свое приложение в списке. Бот отображает предложения следующим образом:
- MentionMe
- Показать приветствие
- MessageAllMembers
- MessageAllMembersUsingAadId
Вы можете выбрать параметр из списка команд, введя @TeamsConversationBot или Что можно сделать? текст в области создания и отправить его.
Выполнение задачи
Ты придумала что-то вроде этого?
Поздравляем!
Вы завершили учебник, чтобы приступить к работе с ботом беседы для Microsoft Teams.
Возникла проблема с этим разделом? Если это так, отправьте нам отзыв, чтобы мы исправили этот раздел.
Platform Docs