Принципы работы ботаHow bots work

применимо к: Пакет SDK v4APPLIES TO: SDK v4

Бот — это приложение, с которым пользователи взаимодействуют, общаясь с помощью текста, графики (карт или изображений) или речи.A bot is an app that users interact with in a conversational way, using text, graphics (such as cards or images), or speech. Служба Azure Bot — это облачная платформа.Azure Bot Service is a cloud platform. Он размещает программы-роботы и делает их доступными для каналов.It hosts bots and makes them available to channels.

Служба платформы Bot, которая является компонентом службы Azure Bot, отправляет данные между приложением, подключенным к Bot (например, Facebook или резервным) и т. д., которое мы вызываем канал, и Bot.The Bot Framework Service, which is a component of the Azure Bot Service, sends information between the user's bot-connected app (such as Facebook or Slack and so on, which we call the channel) and the bot. Каждый канал может передавать в отправляемых событиях дополнительные сведения.Each channel may include additional information in the activities they send. Прежде чем создавать ботов, важно хорошо разобраться в использовании объектов действия для общения с пользователями бота.Before creating bots, it is important to understand how a bot uses activity objects to communicate with its users. Для начала мы рассмотрим действия, которые передаются при выполнении простого бота проверки связи.Let's first take a look at activities that are exchanged when we run a simple echo bot.

Схема действийactivity diagram

Здесь представлены действия двух типов: обновление диалога и сообщение.Two activity types illustrated here are: conversation update and message.

Служба Bot Framework Service может отправлять события обновления беседы при добавлении к общению новых участников.The Bot Framework Service may send a conversation update when a party joins the conversation. Например, при начале беседы с эмулятором Bot Framework вы увидите два действия обновления диалога (один для подключаемого пользователя и второй для подключаемого бота).For example, on starting a conversation with the Bot Framework Emulator, you will see two conversation update activities (one for the user joining the conversation and one for the bot joining). Чтобы отличать эти действия обновления диалога, проверьте, кто входит в свойство действия добавленные члены .To distinguish these conversation update activities, check who is included in the members added property of the activity.

Действие сообщения передает между сторонами информацию общения.The message activity carries conversation information between the parties. В нашем примере бота проверки связи события сообщений передают простой текст, который будет отображаться в выбранном канале.In an echo bot example, the message activities are carrying simple text and the channel will render this text. Кроме того, действие сообщения может содержать голосовые сообщения, предлагаемые действия или карты для отображения.Alternatively, the message activity might carry text to be spoken, suggested actions or cards to be displayed.

В нашем примере создается бот и отправляется действие сообщения в ответ на полученное входящее действие сообщения.In this example, the bot created and sent a message activity in response to the inbound message activity it had received. Тем не менее, Bot может отвечать другими способами на действие полученного сообщения; программа-робот не часто реагирует на действие обновления диалога, отправляя некоторый текст приветствия в действие сообщения.However, a bot can respond in other ways to a received message activity; it's not uncommon for a bot to respond to a conversation update activity by sending some welcome text in a message activity. Дополнительные сведения см. в подокне приветствия пользователя.More information can be found in how to welcome a user.

Пакет SDK для Bot FrameworkThe Bot Framework SDK

Пакет SDK для Bot Framework позволяет создавать программы-роботы, которые могут размещаться в службе Azure Bot.The Bot Framework SDK allows you to build bots that can be hosted on the Azure Bot Service. Служба определяет REST API и протокол действий для взаимодействия между Bot и каналами или пользователями.The service defines a REST API and an activity protocol for how your bot and channels or users can interact. Пакет SDK строится на основе этого REST API и предоставляет абстракцию службы, чтобы вы могли сосредоточиться на логике взаимодействия.The SDK builds upon this REST API and provides an abstraction of the service so that you can focus on the conversational logic. Хотя вам не нужно понимать службу RESTFUL для использования пакета SDK, понимание некоторых его возможностей может быть полезным.While you don't need to understand the REST service to use the SDK, understanding some of its features can be helpful.

Программы-роботы — это приложения с интерфейсом для общения.Bots are apps that have a conversational interface. Они помогут вам перенести на автоматизированные системы простые и повторяющиеся задачи, такие как резервирование столиков в ресторане или сбор сведений для профиля без необходимости прямого участия человека.They can be used to shift simple, repetitive tasks, such as taking a dinner reservation or gathering profile information, on to automated systems that may no longer require direct human intervention. Пользователи взаимодействуют с ботом, используя текстовые сообщения, интерактивные карты и речь.Users converse with a bot using text, interactive cards, and speech. Взаимодействие с ботом может ограничиваться простыми вопросами и ответами или представлять собой сложное интеллектуальное общение с предоставлением доступа к службам.A bot interaction can be a quick question and answer, or it can be a sophisticated conversation that intelligently provides access to services.

Примечание

Поддержка функций, предоставляемых пакетом SDK и REST API, зависит от канала.Support for features provided by the SDK and REST API varies by channel. вы можете протестировать программу-робот с помощью Bot Framework Emulator, но необходимо протестировать все компоненты программы bot на каждом канале, где вы планируете сделать bot доступным.You can test your bot using the Bot Framework Emulator, but you should also test all features of your bot on each channel in which you intend to make your bot available.

Взаимодействие затрагивает обмен действиями, который обрабатывается в свою работу.Interactions involve the exchange of activities, which are handled in turns.

ДействияActivities

Каждое взаимодействие между пользователем (или каналом) и Bot представлено в виде действия.Every interaction between the user (or a channel) and the bot is represented as an activity. Схема действий Bot Framework определяет действия, которыми можно обмениваться между пользователем или каналом и Bot.The Bot Framework Activity schema defines the activities that can be exchanged between a user or channel and a bot. Действия могут представлять человеческий текст или речь, уведомления между приложениями, реакции на другие сообщения и т. д.Activities can represent human text or speech, app-to-app notifications, reactions to other messages, and so on.

ОчередностьTurns

При общении люди обычно говорят по очереди.In a conversation, people often speak one-at-a-time, taking turns speaking. Как правило, бот реагирует на вводимые пользователем данные.With a bot, it generally reacts to user input. В пакете SDK Bot Framework ход состоит из входящего действия пользователя и всех действий, которые бот немедленно возвращает пользователю в ответ.Within the Bot Framework SDK, a turn consists of the user's incoming activity to the bot and any activity the bot sends back to the user as an immediate response. Вы можете подумать о том, как обработка, связанная с программой-роботом, получающим данное действие.You can think of a turn as the processing associated with the bot receiving a given activity.

Например, пользователь может попросить робота выполнить определенную задачу.For example, a user might ask a bot to perform a certain task. Bot может ответить на вопрос, чтобы получить дополнительные сведения о задаче, после чего эта задача заканчивается.The bot might respond with a question to get more information about the task, at which point this turn ends. При следующем включении Bot получает новое сообщение от пользователя, которое может содержать ответ на вопрос программы-робота, или может представлять изменение субъекта или запроса на игнорирование первоначального запроса на выполнение задачи.On the next turn, the bot receives a new message from the user that might contain the answer to the bot's question, or it might represent a change of subject or a request to ignore the initial request to perform the task.

Структура приложения BotBot application structure

Пакет SDK определяет класс Bot , который обрабатывает диалоговые окна для приложения-робота.The SDK defines a bot class that handles the conversational reasoning for the bot app. Класс Bot:The bot class:

  • Распознает и интерпретирует входные данные пользователя.Recognizes and interprets the user's input.
  • Причины входных данных и выполнение соответствующих задач.Reasons about the input and performs relevant tasks.
  • Создает ответы о действиях, выполняемых программой-Bot.Generates responses about what the bot is doing or has done.

Пакет SDK также определяет класс адаптера , который обрабатывает подключение к каналам.The SDK also defines an adapter class that handles connectivity with the channels. Адаптер:The adapter:

  • Предоставляет метод для обработки запросов из методов и для создания запросов к каналу пользователя.Provides a method for handling requests from and methods for generating requests to the user's channel.
  • Включает конвейер по промежуточного слоя, который включает обработку за пределами обработчика поворачивания.Includes a middleware pipeline, which includes turn processing outside of your bot's turn handler.
  • Вызывает обработчик поворачивания Bot и перехватывает ошибки, не обработанные в обработчике событий иным образом.Calls the bot's turn handler and catches errors not otherwise handled in the turn handler.

Кроме того, программы-роботы часто приходится извлекать и хранить состояние каждый раз.In addition, bots often need to retrieve and store state each turn. Это осуществляется с помощью классов хранилища, Bot-состояния и методов доступа к свойствам .This is handled through storage, bot state, and property accessor classes. Пакет SDK не предоставляет встроенное хранилище, но предоставляет абстракции для хранения и несколько реализаций уровня хранилища.The SDK does not provide built-in storage, but does provide abstractions for storage and a few implementations of a storage layer. В разделе Управление состоянием описываются эти функции состояния и хранилища.The managing state topic describes these state and storage features.

Программа-робот имеет возможность подключения и попричинить элементы, а абстракцию состоянияA bot has connectivity and reasoning elements, and an abstraction for state

Пакет SDK не требует использования определенного уровня приложения для отправки и получения веб-запросов.The SDK does not require you use a specific application layer to send and receive web requests. в среде Bot есть шаблоны и примеры для ASP.NET (C#), restify (JavaScript) и аиохттп (Python).The Bot Framework has templates and samples for ASP.NET (C#), restify (JavaScript), and aiohttp (Python). Однако для приложения можно использовать разные уровни приложений.However, you can choose to use a differ application layer for your app.

При создании программы-робота с помощью пакета SDK вы предоставляете код для получения HTTP-трафика и его пересылки на адаптер.When you create a bot using the SDK, you provide the code to receive the HTTP traffic and forward it to the adapter. Платформа Bot предоставляет несколько шаблонов и примеров, которые можно использовать для разработки собственных программы-роботы.The Bot Framework provides a few templates and samples that you can use to develop your own bots.

Логика ботаBot logic

Объект Bot содержит цепочку или логику для включения, а также предоставляет обработчик включения, который является методом, который может принимать входящие действия от адаптера Bot.The bot object contains the conversational reasoning or logic for a turn and exposes a turn handler, which is the method that can accept incoming activities from the bot adapter.

Пакет SDK предоставляет несколько различных парадигм для управления логикой Bot.The SDK provides a couple different paradigms for managing your bot logic.

  • Обработчики действий предоставляют модель, управляемую событиями, в которой типы входящих действий и подтипы являются событиями.Activity handlers provide an event-driven model in which the incoming activity types and sub-types are the events. Это может быть хорошим для программы-роботы, которые имеют ограниченные и короткие взаимодействия с пользователем.This can be good for bots that have limited, short interactions with the user.
    • Используйте обработчик действий и Реализуйте обработчики для каждого типа действия или подтипа, который будет распознать и реагировать в коде Bot.Use an activity handler and implement handlers for each activity type or sub-type your bot will recognize and react to.
    • используйте обработчик действий Teams , чтобы создать программы-роботы, который может подключаться к каналу Teams.Use a Teams activity handler to create bots that can connect to the Teams channel. (каналу Teams требуется, чтобы программа-робот обрабатывала определенное поведение канала.)(The Teams channel requires the bot to handle some channel-specific behavior.)
  • Библиотека диалогов предоставляет модель на основе состояния для управления долго выполняющимся диалогом с пользователем.The dialogs library provides a state-based model to manage a long-running conversation with the user.
    • Используйте обработчик действий и диалоговое окно компонента для практически последовательных диалогов.Use an activity handler and a component dialog for largely sequential conversations. Дополнительные сведения см. в разделе о диалоговых окнах Component и каскадного характера.See about component and waterfall dialogs for more information.
    • Используйте диспетчер диалоговых окон и Адаптивное диалоговое окно для гибкого потока диалоговых окон, которое может работать с более широким спектром действий пользователя.Use a dialog manager and an adaptive dialog for flexible conversation flow that can handle a wider range of user interaction. Дополнительные сведения см. в статье Введение в адаптивные диалоговые окна .See the introduction to adaptive dialogs for more information.
  • Реализуйте собственный класс Bot и предоставьте собственную логику для обработки каждой очереди.Implement your own bot class and provide your own logic for handling each turn. Узнайте, как создать собственные приглашения для сбора входных данных пользователя, чтобы получить пример того, как это может выглядеть.See how to create your own prompts to gather user input for an example of what this might look like.

Адаптер ботаThe bot adapter

Адаптер имеет метод действия процесса для начала работы.The adapter has a process activity method for starting a turn.

  • Он принимает текст запроса (полезные данные запроса, преобразуется в действие) и заголовок запроса в качестве аргументов.It takes the request body (the request payload, translated to an activity) and the request header as arguments.
  • Он проверяет, является ли заголовок проверки подлинности допустимым.It checks whether the authentication header is valid.
  • Он создает объект контекста для включения.It creates a context object for the turn.
  • Это выполняется с помощью конвейера по промежуточного слоя .It runs this through its middleware pipeline.
  • Он отправляет действие обработчику переворачивания объекта Bot.It sends the activity to the bot object's turn handler.

Адаптер также:The adapter also:

  • Форматирует и отправляет действия ответа.Formats and sends response activities. Эти ответы обычно являются сообщениями для пользователя, но могут также содержать информацию, которая будет использоваться в канале пользователя напрямую.These responses are typically messages for the user, but can also include information to be consumed by the user's channel directly.
  • Предоставляет другие методы, предоставляемые соединителем Bot REST API, такие как сообщение об обновлении и Удаление сообщения.Surfaces other methods provided by the Bot Connector REST API, such as update message and delete message.
  • Перехватывает ошибки или исключения, которые в противном случае не были перехвачены для поочередности.Catches errors or exceptions not otherwise caught for the turn.

Контекст переворачиванияThe turn context

Объект контекста шага предоставляет сведения о действии. К таким объектам относятся, например, идентификаторы канала, отправителя и получателя, а также другие необходимые данные для обработки действия.The turn context object provides information about the activity such as the sender and receiver, the channel, and other data needed to process the activity. Кроме того, можно добавлять в объект контекста шага сведения при обработке шага на разных уровнях бота.It also allows for the addition of information during the turn across various layers of the bot.

Контекст шага является одной из важнейших абстракций в пакете SDK.The turn context is one of the most important abstractions in the SDK. Он не только передает входящие действия всем компонентам по промежуточного слоя и логике приложения, но также предоставляет механизм, с помощью которого компоненты по промежуточного слоя и логика Bot могут отсылать исходящие действия.Not only does it carry the inbound activity to all the middleware components and the application logic but it also provides the mechanism whereby the middleware components and the bot logic can send outbound activities.

ПО промежуточного слояMiddleware

ПО промежуточного слоя действует так же, как любое средство обработки сообщений, и состоит из линейного набора компонентов, каждый из которых выполняется в строгом порядке и получает возможность применить некоторую логику реагирования на событие.Middleware is much like any other messaging middleware, comprising a linear set of components that are each executed in order, giving each a chance to operate on the activity. Последним этапом конвейера ПО промежуточного слоя является обратный вызов обработчика шагов из класса бота, регистрируемого приложением с использованием метода действия обработки адаптера.The final stage of the middleware pipeline is a callback to the turn handler on the bot class the application has registered with the adapter's process activity method. По промежуточного слоя реализует метод включения , который вызывает адаптер.Middleware implements an on turn method which the adapter calls.

Обработчик «поверх» принимает контекст «поверх» в качестве аргумента, как правило, логика приложения, выполняемая внутри функции обработчика, выполняет обработку содержимого входящего действия и создает одно или несколько действий в ответе, отправляя их с помощью функции Send действия в контексте «выключить».The turn handler takes a turn context as its argument, typically the application logic running inside the turn handler function will process the inbound activity's content and generate one or more activities in response, sending these out using the send activity function on the turn context. Вызов send activity для контекста шага приводит к вызову компонентов ПО промежуточного слоя для исходящих действий.Calling send activity on the turn context will cause the middleware components to be invoked on the outbound activities. Компоненты по промежуточного слоя выполняются до и после функции обработчика поворачивания Bot.Middleware components execute before and after the bot's turn handler function. Выполнение по сути является вложенным и, как таковое, иногда называется калькой.The execution is inherently nested and, as such, sometimes referred to being like an onion.

В разделе по промежуточного слоя подробно описывается по промежуточного слоя.The middleware topic describes middleware in greater depth.

Состояние и хранилище BotBot state and storage

Как и в случае с другими веб-приложениями, Bot по своей природе не имеет состояния.As with other web apps, a bot is inherently stateless. Состояние в роботе соответствует тем же парадигмам, что и современные веб-приложения, а пакет SDK для Bot Framework предоставляет абстракции уровня хранилища и управления состоянием для упрощения управления состоянием.State within a bot follows the same paradigms as modern web applications, and the Bot Framework SDK provides storage layer and state management abstractions to make state management easier.

В разделе Управление состоянием описываются эти функции состояния и хранилища.The managing state topic describes these state and storage features.

Конечная точка обмена сообщениями и подготовкаMessaging endpoint and provisioning

Как правило, приложению потребуется конечная точка RESTFUL, в которой будут приходить сообщения.Typically, your application will need a REST endpoint at which to receive messages. Также потребуется подготавливать ресурсы для программы-робота в соответствии с используемой платформой.It will also need to provision resources for your bot in accordance with the platform you decide to use.

Следуйте инструкциям в кратком руководстве по созданию ленты , чтобы создать и проверить простой эхо-робот.Follow the Create a bot quickstart to create and test a simple echo bot.

Сведения об HTTPHTTP Details

Действия поступают в бот из службы Bot Framework через запросы HTTP POST.Activities arrive at the bot from the Bot Framework Service via an HTTP POST request. В ответ на входящий запрос POST бот возвращает код состояния HTTP 200.The bot responds to the inbound POST request with a 200 HTTP status code. Действия, отправляемые из бота в канал, отправляются в отдельном запросе POST к службе Bot Framework.Activities sent from the bot to the channel are sent on a separate HTTP POST to the Bot Framework Service. В ответ на него также поступает код состояния HTTP 200.This, in turn, is acknowledged with a 200 HTTP status code.

Протокол не указывает порядок, в котором выполняются эти запросы POST и их подтверждения.The protocol doesn't specify the order in which these POST requests and their acknowledgments are made. Но на распространенных платформах служб HTTP такие запросы обычно являются вложенными, то есть исходящий HTTP-запрос выполняется ботом в процессе обработки входящего HTTP-запроса.However, to fit with common HTTP service frameworks, typically these requests are nested, meaning that the outbound HTTP request is made from the bot within the scope of the inbound HTTP request. Этот шаблон показан на более ранней схеме.This pattern is illustrated in the earlier diagram. Поскольку здесь есть два раздельных HTTP-подключения с откликами на них, модель безопасности должна учитывать оба из них.Since there are two distinct HTTP connections back to back, the security model must provide for both.

Примечание

У программы-робота есть 15 секунд для подтверждения вызова со статусом 200 на большинстве каналов.The bot has 15 seconds to acknowledge the call with a status 200 on most channels. Если программа-робот не ответила в течение 15 секунд, возникает ошибка HTTP Гатевайтимеаут (504).If the bot does not respond within 15 seconds, an HTTP GatewayTimeout error (504) occurs.

Стек обработки действияThe activity processing stack

Давайте вернемся к предыдущей схеме последовательностей, чтобы сосредоточиться на поступлении действия сообщения.Let's drill into the previous sequence diagram with a focus on the arrival of a message activity.

Стек обработки действия

В приведенном выше примере в ответ на действие сообщения бот отправляет другое действие сообщения, помещая в него текст из первого сообщения.In the example above, the bot replied to the message activity with another message activity containing the same text message. Обработка начинается с поступления на веб-сервер запроса HTTP POST, в котором сведения о действии передаются в формате полезных данных JSON.Processing starts with the HTTP POST request, with the activity information carried as a JSON payload, arriving at the web server. в C# обычно это ASP.NET проект, в проекте JavaScript Node.js это может быть одна из популярных платформ, таких как Express или restify.In C# this will typically be an ASP.NET project, in a JavaScript Node.js project this is likely to be one of the popular frameworks such as Express or restify.

Встроенный компонент пакета SDK, который называется адаптером, является ядром среды выполнения SDK.The adapter, an integrated component of the SDK, is the core of the SDK runtime. Действие передается в тексте запроса HTTP POST в формате JSON.The activity is carried as JSON in the HTTP POST body. Этот JSON десериализуется для создания объекта действия , который затем передается адаптеру через его метод действия Process .This JSON is deserialized to create the activity object that is then handed to the adapter through its process activity method. При получении действия адаптер создает turn context (контекст шага) и вызывает ПО промежуточного слоя.On receiving the activity, the adapter creates a turn context and calls the middleware.

Как упоминалось выше, контекст шага позволяет ботам отправлять исходящие действия, чаще всего в ответ на входящее действие.As mentioned above, the turn context provides the mechanism for the bot to send outbound activities, most often in response to an inbound activity. Для этого контекст «переключить» предоставляет методы ответа на действия отправки, обновления и удаления .To achieve this, the turn context provides send, update, and delete activity response methods. Каждый метод ответа выполняется в асинхронном процессе.Each response method runs in an asynchronous process.

Важно!

Поток, обрабатывающий первое включение бота, связан с удалением объекта контекста после окончания работы.The thread handling the primary bot turn deals with disposing of the context object when it is done. Обязательно ожидайте параметр await любых вызовов активности, чтобы первичный поток дождался сгенерированного действия до завершения его работы и утилизации контекста включения.Be sure to await any activity calls so the primary thread will wait on the generated activity before finishing its processing and disposing of the turn context. В противном случае, если ответ (или какой-либо из его обработчиков) после длительной паузы попытается воздействовать на объект контекста, может возникнуть ошибка Контекст был удален.Otherwise, if a response (including its handlers) takes any significant amount of time and tries to act on the context object, it may get a context was disposed error.

Шаблоны для ботовBot templates

Необходимо выбрать уровень приложения, используемый для приложения. однако у платформы Bot есть шаблоны и примеры для ASP.NET (C#), restify (JavaScript) и аиохттп (Python).You need to choose the application layer use for your app; however, the Bot Framework has templates and samples for ASP.NET (C#), restify (JavaScript), and aiohttp (Python). Документация написана, предполагая, что вы используете одну из этих платформ, но пакет SDK не требует этого.The documentation is written assuming you use one of these platforms, but the SDK does not require it of you. Инструкции по доступу и установке шаблонов см. в кратком руководстве по созданию ленты .See the Create a bot quickstart for instructions on how to access and install the templates.

Bot — это веб-приложение, а шаблоны предоставляются для каждой языковой версии пакета SDK.A bot is a web application, and templates are provided for each language version of the SDK. Все шаблоны предоставляют реализацию и адаптер конечной точки по умолчанию.All templates provide a default endpoint implementation and adapter. Каждый шаблон включает:Each template includes:

  • Подготовка ресурсовResource provisioning
  • Реализация конечной точки HTTP, зависящей от языка, которая направляет входящие действия на адаптер.A language-specific HTTP endpoint implementation that routes incoming activities to an adapter.
  • Объект адаптераAn adapter object
  • Объект BotA bot object

Основное различие между различными типами шаблонов заключается в объекте Bot.The main difference between the different template types is in the bot object. Шаблоны:The templates are:

  • Пустой роботEmpty bot
    • Включает обработчик действий, который приветствует пользователя в диалоге, отправляя сообщение "Hello World" в первый ход диалога.Includes an activity handler that welcomes a user to the conversation by sending a "hello world" message on the first turn of the conversation.
  • Бот EchoEcho bot
    • Использует обработчик действий для приветствия пользователей и вывода пользовательского ввода.Uses an activity handler to welcome users and echo back user input.
  • Основной роботCore bot
    • Объединяет множество функций пакета SDK и демонстрирует рекомендации для программы-робота.Brings together many features of the SDK and demonstrates best practices for a bot.
    • Использует обработчик действий для приветствия пользователей.Uses an activity handler to welcome users.
    • Использует диалоговое окно компонента и дочерние диалоговые окна для управления диалогом.Uses a component dialog and child dialogs to manage the conversation.
    • В диалогах используются функции Распознавание речи (LUIS) и QnA Maker.The dialogs use Language Understanding (LUIS) and QnA Maker features.

Дополнительные сведенияAdditional information

Управление ресурсами BotManaging bot resources

Ресурсами ботов, такими как идентификаторы приложений, пароли, ключи или секреты для подключенных служб, необходимо управлять соответствующим образом.The bot resources, such as app ID, passwords, keys or secrets for connected services, will need to be managed appropriately. Дополнительные сведения о том, как это сделать, см. в руководствах по безопасности на Bot Framework и об управлении ресурсами Bot.For more on how to do so, see the Bot Framework security guidelines and about managing bot resources.

Адаптеры каналовChannel adapters

Кроме того, пакет SDK позволяет использовать адаптеры каналов, в которых адаптер также выполняет задачи, которые служба соединителя Bot обычно использует для канала.The SDK also lets you use channel adapters, in which the adapter itself additionally performs the tasks that the Bot Connector Service would normal do for a channel.

Пакет SDK предоставляет несколько адаптеров каналов на некоторых языках.The SDK provides a few channel adapters in some languages. дополнительные адаптеры каналов доступны через репозитории боткит и Community.More channel adapters are available through the Botkit and Community repositories. Дополнительные сведения см. в таблице " каналы и адаптеры" репозитория SDK для Bot Framework.For more details, see the Bot Framework SDK repository's table of channels and adapters.

Соединитель Bot REST APIThe Bot Connector REST API

Пакет SDK для Bot Framework упаковывает и строится на основе соединителя Bot REST API.The Bot Framework SDK wraps and builds upon the Bot Connector REST API. Сведения об основных HTTP-запросах, поддерживающих пакет SDK, см. в разделе Проверка подлинности соединителя и связанные статьи.If you want to understand the underlying HTTP requests that support the SDK, see the Connector authentication and associated articles. Действия, которые отправляет и получает Bot, соответствуют схеме действия "Bot Framework".The activities a bot sends and receives conform to the Bot Framework Activity schema.

Дальнейшие действияNext steps