BotFrameworkAdapter class
Aviso
Essa API foi preterida.
Use CloudAdapter
instead.
- Extends
-
BotAdapter
Construtores
Bot |
Cria uma nova instância da classe BotFrameworkAdapter . |
Propriedades
is |
Usado em contextos de streaming para verificar se a conexão de streaming ainda está aberta para o bot enviar atividades. |
Token |
Propriedades herdadas
Bot |
|
Connector |
|
OAuth |
|
on |
Métodos
continue |
Retoma de forma assíncrona uma conversa com um usuário, possivelmente após algum tempo. |
continue |
Retoma de forma assíncrona uma conversa com um usuário, possivelmente após algum tempo. |
create |
Cria um cliente do conector. |
create |
Crie um ConnectorClient com uma ClaimsIdentity. |
create |
Crie um ConnectorClient com uma ClaimsIdentity e um público explícito. |
create |
Cria e inicia de forma assíncrona uma conversa com um usuário em um canal. |
create |
Cria e inicia de forma assíncrona uma conversa com um usuário em um canal. |
delete |
Exclui de forma assíncrona uma atividade existente. Essa interface dá suporte à estrutura e não se destina a ser chamada diretamente para seu código. Use TurnContext.deleteActivity para excluir uma atividade do código do bot. |
delete |
Remove de forma assíncrona um membro da conversa atual. |
emulate |
Envia de forma assíncrona um cartão OAuth emulado para um canal. Esse método dá suporte à estrutura e não se destina a ser chamado diretamente para seu código. |
exchange |
Executa de forma assíncrona uma operação de troca de token, como para logon único. |
get |
Desconscreve de forma assíncrona o usuário do servidor de token. |
get |
|
get |
Lista de forma assíncrona os membros de uma determinada atividade. |
get |
Lista de forma assíncrona os membros da conversa atual. |
get |
Para o canal especificado, obtém de forma assíncrona uma página das conversas nas quais esse bot participou. |
get |
Obtém de forma assíncrona um link de entrada do servidor de token que pode ser enviado como parte de um SigninCard. |
get |
|
get |
Obter de forma assíncrona o recurso de entrada bruto a ser enviado ao usuário para entrar. |
get |
Recupera de forma assíncrona o status do token para cada conexão configurada para o usuário determinado. |
get |
|
get |
Tenta de forma assíncrona recuperar o token de um usuário que está em um fluxo de logon. |
get |
|
process(Request, INode |
Manipule uma conexão de soquete da Web aplicando uma função lógica a cada solicitação de streaming. |
process(Request, Response, (context: Turn |
Processe uma solicitação da Web aplicando uma função lógica. |
process |
Cria de forma assíncrona um contexto de turno e executa o pipeline de middleware para uma atividade de entrada. |
process |
Cria de forma assíncrona um contexto de turno e executa o pipeline de middleware para uma atividade de entrada. |
process |
Verifica a validade da solicitação e tenta mapeá-la para o ponto de extremidade virtual correto, gera e retorna uma resposta, se apropriado. |
send |
Envia de forma assíncrona um conjunto de atividades de saída para um servidor de canal. Esse método dá suporte à estrutura e não se destina a ser chamado diretamente para seu código. Use o método sendActivity ou sendActivities do contexto de turno do código do bot. |
sign |
Desconscroniza de forma assíncrona o usuário do servidor de token. |
sign |
|
update |
Substitui de forma assíncrona uma atividade anterior por uma versão atualizada. Essa interface dá suporte à estrutura e não se destina a ser chamada diretamente para seu código. Use TurnContext.updateActivity para atualizar uma atividade do código do bot. |
use |
Conecta o manipulador a um servidor pipe nomeado e começa a escutar solicitações de entrada. |
use |
Processe a solicitação inicial para estabelecer uma conexão de longa duração por meio de um servidor de streaming. |
Métodos herdados
continue |
Retoma de forma assíncrona uma conversa com um usuário, possivelmente após algum tempo. |
continue |
Retoma de forma assíncrona uma conversa com um usuário, possivelmente após algum tempo. |
continue |
Retoma de forma assíncrona uma conversa com um usuário, possivelmente após algum tempo. |
create |
Cria uma conversa no canal especificado. |
use((context: Turn |
Adiciona middleware ao pipeline do adaptador. |
Detalhes do construtor
BotFrameworkAdapter(Partial<BotFrameworkAdapterSettings>)
Cria uma nova instância da classe BotFrameworkAdapter .
new BotFrameworkAdapter(settings?: Partial<BotFrameworkAdapterSettings>)
Parâmetros
- settings
-
Partial<BotFrameworkAdapterSettings>
Opcional. As configurações a serem usadas para essa instância do adaptador.
Comentários
Se o settings
parâmetro não incluir valores channelService ou openIdMetadata , o construtor verificará as variáveis de ambiente do processo quanto a esses valores. Esses valores podem ser definidos quando um bot é provisionado no Azure e, nesse caso, são necessários para que o bot funcione corretamente na nuvem global ou em uma nuvem nacional.
A classe BotFrameworkAdapterSettings define as configurações de adaptador disponíveis.
Detalhes da propriedade
isStreamingConnectionOpen
Usado em contextos de streaming para verificar se a conexão de streaming ainda está aberta para o bot enviar atividades.
boolean isStreamingConnectionOpen
Valor da propriedade
boolean
True se a conexão de streaming estiver aberta; caso contrário, false.
TokenApiClientCredentialsKey
TokenApiClientCredentialsKey: symbol
Valor da propriedade
symbol
Detalhes das propriedades herdadas
BotIdentityKey
BotIdentityKey: symbol
Valor da propriedade
symbol
Herdado de BotAdapter.BotIdentityKey
ConnectorClientKey
ConnectorClientKey: symbol
Valor da propriedade
symbol
Herdado de BotAdapter.ConnectorClientKey
OAuthScopeKey
OAuthScopeKey: symbol
Valor da propriedade
symbol
Herdado de BotAdapter.OAuthScopeKey
onTurnError
onTurnError: (context: TurnContext, error: Error) => Promise<void>
Valor da propriedade
(context: TurnContext, error: Error) => Promise<void>
Herdado de BotAdapter.onTurnError
Detalhes do método
continueConversation(Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Retoma de forma assíncrona uma conversa com um usuário, possivelmente após algum tempo.
function continueConversation(reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- reference
-
Partial<ConversationReference>
Uma referência à conversa para continuar.
- logic
-
(context: TurnContext) => Promise<void>
O método assíncrono a ser chamado após a execução do middleware do adaptador.
Retornos
Promise<void>
Comentários
Isso geralmente é chamado de notificação proativa, o bot pode enviar proativamente uma mensagem para uma conversa ou usuário sem esperar por uma mensagem de entrada. Por exemplo, um bot pode usar esse método para enviar notificações ou cupons a um usuário.
Para enviar uma mensagem proativa:
- Salve uma cópia de um ConversationReference de uma atividade de entrada. Por exemplo, você pode armazenar a referência de conversa em um banco de dados.
- Chame esse método para retomar a conversa posteriormente. Use a referência salva para acessar a conversa.
- Em caso de êxito, o adaptador gera um objeto TurnContext e chama o manipulador de
logic
funções. Use alogic
função para enviar a mensagem proativa.
Para copiar a referência de qualquer atividade de entrada na conversa, use o método TurnContext.getConversationReference .
Esse método é semelhante ao método processActivity .
O adaptador cria um TurnContext e o roteia por meio de seu middleware antes de chamar o logic
manipulador. A atividade criada terá um tipo de 'event' e um nome de 'continueConversation'.
Por exemplo:
server.post('/api/notifyUser', async (req, res) => {
// Lookup previously saved conversation reference.
const reference = await findReference(req.body.refId);
// Proactively notify the user.
if (reference) {
await adapter.continueConversation(reference, async (context) => {
await context.sendActivity(req.body.message);
});
res.send(200);
} else {
res.send(404);
}
});
continueConversation(Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)
Retoma de forma assíncrona uma conversa com um usuário, possivelmente após algum tempo.
function continueConversation(reference: Partial<ConversationReference>, oAuthScope: string, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- reference
-
Partial<ConversationReference>
(xref:botframework-schema. ConversationReference) da conversa para continuar.
- oAuthScope
-
string
O destinatário pretendido de qualquer atividade enviada ou a função a ser chamada para continuar a conversa.
- logic
-
(context: TurnContext) => Promise<void>
Opcional. O método assíncrono a ser chamado após a execução do middleware do adaptador.
Retornos
Promise<void>
createConnectorClient(string)
Cria um cliente do conector.
function createConnectorClient(serviceUrl: string): ConnectorClient
Parâmetros
- serviceUrl
-
string
A URL de serviço do cliente.
Retornos
ConnectorClient
A instância do ConnectorClient .
Comentários
Substitua isso em uma classe derivada para criar um cliente de conector fictício para teste de unidade.
createConnectorClientWithIdentity(string, ClaimsIdentity)
Crie um ConnectorClient com uma ClaimsIdentity.
function createConnectorClientWithIdentity(serviceUrl: string, identity: ClaimsIdentity): Promise<ConnectorClient>
Parâmetros
- serviceUrl
-
string
A URL de serviço do cliente.
- identity
-
ClaimsIdentity
ClaimsIdentity
Retornos
Promise<ConnectorClient>
Comentários
Se ClaimsIdentity contiver as declarações de uma solicitação skills, crie um ConnectorClient para uso com Skills. Deriva o público-alvo correto da ClaimsIdentity ou da propriedade de credenciais da instância.
createConnectorClientWithIdentity(string, ClaimsIdentity, string)
Crie um ConnectorClient com uma ClaimsIdentity e um público explícito.
function createConnectorClientWithIdentity(serviceUrl: string, identity: ClaimsIdentity, audience: string): Promise<ConnectorClient>
Parâmetros
- serviceUrl
-
string
A URL de serviço do cliente.
- identity
-
ClaimsIdentity
ClaimsIdentity
- audience
-
string
O destinatário das mensagens do ConnectorClient. Normalmente, o Serviço de Canal do Bot Framework ou a AppId de outro bot.
Retornos
Promise<ConnectorClient>
Comentários
Se o público-alvo cortado não for uma cadeia de caracteres de comprimento diferente de zero, o público-alvo será derivado da propriedade ClaimsIdentity ou das credenciais da instância.
createConversation(Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Cria e inicia de forma assíncrona uma conversa com um usuário em um canal.
function createConversation(reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- reference
-
Partial<ConversationReference>
Uma referência para a conversa a ser criada.
- logic
-
(context: TurnContext) => Promise<void>
O método assíncrono a ser chamado após a execução do middleware do adaptador.
Retornos
Promise<void>
uma promessa que representa a operação assíncrona
createConversation(Partial<ConversationReference>, Partial<ConversationParameters>, (context: TurnContext) => Promise<void>)
Cria e inicia de forma assíncrona uma conversa com um usuário em um canal.
function createConversation(reference: Partial<ConversationReference>, parameters: Partial<ConversationParameters>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- reference
-
Partial<ConversationReference>
Uma referência para a conversa a ser criada.
- parameters
-
Partial<ConversationParameters>
Parâmetros usados ao criar a conversa
- logic
-
(context: TurnContext) => Promise<void>
O método assíncrono a ser chamado após a execução do middleware do adaptador.
Retornos
Promise<void>
uma promessa que representa a operação assíncrona
deleteActivity(TurnContext, Partial<ConversationReference>)
Exclui de forma assíncrona uma atividade existente. Essa interface dá suporte à estrutura e não se destina a ser chamada diretamente para seu código. Use TurnContext.deleteActivity para excluir uma atividade do código do bot.
function deleteActivity(context: TurnContext, reference: Partial<ConversationReference>): Promise<void>
Parâmetros
- context
-
TurnContext
O objeto de contexto para a curva.
- reference
-
Partial<ConversationReference>
Informações de referência de conversa para a atividade a ser excluída.
Retornos
Promise<void>
Comentários
Nem todos os canais dão suporte a essa operação. Para canais que não o fazem, essa chamada pode gerar uma exceção.
deleteConversationMember(TurnContext, string)
Remove de forma assíncrona um membro da conversa atual.
function deleteConversationMember(context: TurnContext, memberId: string): Promise<void>
Parâmetros
- context
-
TurnContext
O objeto de contexto para a curva.
- memberId
-
string
A ID do membro a ser removido da conversa.
Retornos
Promise<void>
Comentários
Remova as informações de identidade de um membro da conversa.
Nem todos os canais dão suporte a essa operação. Para canais que não o fazem, essa chamada pode gerar uma exceção.
emulateOAuthCards(TurnContext | string, boolean)
Envia de forma assíncrona um cartão OAuth emulado para um canal. Esse método dá suporte à estrutura e não se destina a ser chamado diretamente para seu código.
function emulateOAuthCards(contextOrServiceUrl: TurnContext | string, emulate: boolean): Promise<void>
Parâmetros
- contextOrServiceUrl
-
TurnContext | string
A URL do emulador.
- emulate
-
boolean
true
para enviar um cartão OAuth emulado para o emulador; ou false
para não enviar o cartão.
Retornos
Promise<void>
Comentários
Ao testar um bot no Bot Framework Emulator, esse método pode emular a interação do cartão OAuth.
exchangeToken(TurnContext, string, string, TokenExchangeRequest, CoreAppCredentials)
Executa de forma assíncrona uma operação de troca de token, como para logon único.
function exchangeToken(context: TurnContext, connectionName: string, userId: string, tokenExchangeRequest: TokenExchangeRequest, appCredentials?: CoreAppCredentials): Promise<TokenResponse>
Parâmetros
- context
-
TurnContext
Contexto para a virada de conversa atual com o usuário.
- connectionName
-
string
Nome da conexão de autenticação a ser usada.
- userId
-
string
A ID de usuário que será associada ao token.
- tokenExchangeRequest
-
TokenExchangeRequest
Os detalhes da solicitação de troca, um token a ser trocado ou um uri a ser trocado.
- appCredentials
-
CoreAppCredentials
Opcional. O CoreAppCredentials para OAuth.
Retornos
Promise<TokenResponse>
getAadTokens(TurnContext, string, string[])
Desconscreve de forma assíncrona o usuário do servidor de token.
function getAadTokens(context: TurnContext, connectionName: string, resourceUrls: string[]): Promise<[key: string]: TokenResponse>
Parâmetros
- context
-
TurnContext
O objeto de contexto para a curva.
- connectionName
-
string
O nome da conexão de autenticação a ser usada.
- resourceUrls
-
string[]
A lista de URLs de recurso para a qual recuperar tokens.
Retornos
Promise<[key: string]: TokenResponse>
Um mapa dos objetos TokenResponse por URL de recurso.
getAadTokens(TurnContext, string, string[], CoreAppCredentials)
function getAadTokens(context: TurnContext, connectionName: string, resourceUrls: string[], oAuthAppCredentials?: CoreAppCredentials): Promise<[key: string]: TokenResponse>
Parâmetros
- context
-
TurnContext
- connectionName
-
string
- resourceUrls
-
string[]
- oAuthAppCredentials
-
CoreAppCredentials
Retornos
Promise<[key: string]: TokenResponse>
getActivityMembers(TurnContext, string)
Lista de forma assíncrona os membros de uma determinada atividade.
function getActivityMembers(context: TurnContext, activityId?: string): Promise<ChannelAccount[]>
Parâmetros
- context
-
TurnContext
O objeto de contexto para a curva.
- activityId
-
string
Opcional. A ID da atividade da qual obter os membros. Se não for especificado, a ID da atividade atual será usada.
Retornos
Promise<ChannelAccount[]>
Uma matriz de objetos ChannelAccount para os usuários envolvidos em uma determinada atividade.
Comentários
Retorna uma matriz de objetos ChannelAccount para os usuários envolvidos em uma determinada atividade.
Isso é diferente de getConversationMembers , pois retornará apenas os usuários diretamente envolvidos na atividade, não todos os membros da conversa.
getConversationMembers(TurnContext)
Lista de forma assíncrona os membros da conversa atual.
function getConversationMembers(context: TurnContext): Promise<ChannelAccount[]>
Parâmetros
- context
-
TurnContext
O objeto de contexto para a curva.
Retornos
Promise<ChannelAccount[]>
Uma matriz de objetos ChannelAccount para todos os usuários atualmente envolvidos em uma conversa.
Comentários
Retorna uma matriz de objetos ChannelAccount para todos os usuários atualmente envolvidos em uma conversa.
Isso é diferente de getActivityMembers , pois retornará todos os membros da conversa, não apenas aqueles diretamente envolvidos em uma atividade específica.
getConversations(TurnContext | string, string)
Para o canal especificado, obtém de forma assíncrona uma página das conversas nas quais esse bot participou.
function getConversations(contextOrServiceUrl: TurnContext | string, continuationToken?: string): Promise<ConversationsResult>
Parâmetros
- contextOrServiceUrl
-
TurnContext | string
A URL do servidor de canal a ser consultada ou um objeto TurnContext de uma conversa no canal.
- continuationToken
-
string
Opcional. O token de continuação da página anterior de resultados.
Omita esse parâmetro ou use undefined
para recuperar a primeira página de resultados.
Retornos
Promise<ConversationsResult>
Um objeto ConversationsResult que contém uma página de resultados e um token de continuação.
Comentários
A propriedade de conversas do valor retornado contém uma página de objetos ConversationMembers . A ID de cada objeto é a ID de uma conversa na qual o bot participou deste canal. Esse método pode ser chamado de fora do contexto de uma conversa, pois apenas a URL de serviço e as credenciais do bot são necessárias.
Os lotes de canal resultam em páginas. Se a propriedade continuationToken do resultado não estiver vazia, haverá mais páginas para obter. Use o token retornado para obter a próxima página de resultados.
Se o contextOrServiceUrl
parâmetro for um TurnContext, a URL do servidor de canal será recuperada de contextOrServiceUrl
. atividade. serviceUrl.
getSignInLink(TurnContext, string, AppCredentials, string, string)
Obtém de forma assíncrona um link de entrada do servidor de token que pode ser enviado como parte de um SigninCard.
function getSignInLink(context: TurnContext, connectionName: string, oAuthAppCredentials?: AppCredentials, userId?: string, finalRedirect?: string): Promise<string>
Parâmetros
- context
-
TurnContext
O objeto de contexto para a curva.
- connectionName
-
string
O nome da conexão de autenticação a ser usada.
- oAuthAppCredentials
-
AppCredentials
AppCredentials para OAuth.
- userId
-
string
A ID de usuário que será associada ao token.
- finalRedirect
-
string
A URL final para a qual o fluxo OAuth será redirecionada.
Retornos
Promise<string>
getSignInLink(TurnContext, string, CoreAppCredentials, string, string)
function getSignInLink(context: TurnContext, connectionName: string, oAuthAppCredentials?: CoreAppCredentials, userId?: string, finalRedirect?: string): Promise<string>
Parâmetros
- context
-
TurnContext
- connectionName
-
string
- oAuthAppCredentials
-
CoreAppCredentials
- userId
-
string
- finalRedirect
-
string
Retornos
Promise<string>
getSignInResource(TurnContext, string, string, string, CoreAppCredentials)
Obter de forma assíncrona o recurso de entrada bruto a ser enviado ao usuário para entrar.
function getSignInResource(context: TurnContext, connectionName: string, userId?: string, finalRedirect?: string, appCredentials?: CoreAppCredentials): Promise<SignInUrlResponse>
Parâmetros
- context
-
TurnContext
O objeto de contexto para a curva.
- connectionName
-
string
O nome da conexão de autenticação a ser usada.
- userId
-
string
A ID de usuário que será associada ao token.
- finalRedirect
-
string
A URL final para a qual o fluxo OAuth será redirecionada.
- appCredentials
-
CoreAppCredentials
Opcional. O CoreAppCredentials para OAuth.
Retornos
Promise<SignInUrlResponse>
O objeto BotSignInGetSignInResourceResponse .
getTokenStatus(TurnContext, string, string)
Recupera de forma assíncrona o status do token para cada conexão configurada para o usuário determinado.
function getTokenStatus(context: TurnContext, userId?: string, includeFilter?: string): Promise<TokenStatus[]>
Parâmetros
- context
-
TurnContext
O objeto de contexto para a curva.
- userId
-
string
Opcional. Se estiver presente, a ID do usuário para o qual recuperar o status do token. Caso contrário, a ID do usuário que enviou a atividade atual será usada.
- includeFilter
-
string
Opcional. Uma lista separada por vírgulas das conexões a serem incluídas. Se estiver presente, o includeFilter
parâmetro limitará os tokens que esse método retorna.
Retornos
Promise<TokenStatus[]>
Os objetos TokenStatus recuperados.
getTokenStatus(TurnContext, string, string, CoreAppCredentials)
function getTokenStatus(context: TurnContext, userId?: string, includeFilter?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<TokenStatus[]>
Parâmetros
- context
-
TurnContext
- userId
-
string
- includeFilter
-
string
- oAuthAppCredentials
-
CoreAppCredentials
Retornos
Promise<TokenStatus[]>
getUserToken(TurnContext, string, string)
Tenta de forma assíncrona recuperar o token de um usuário que está em um fluxo de logon.
function getUserToken(context: TurnContext, connectionName: string, magicCode?: string): Promise<TokenResponse>
Parâmetros
- context
-
TurnContext
O objeto de contexto para a curva.
- connectionName
-
string
O nome da conexão de autenticação a ser usada.
- magicCode
-
string
Opcional. O código de validação que o usuário inseriu.
Retornos
Promise<TokenResponse>
Um objeto TokenResponse que contém o token de usuário.
getUserToken(TurnContext, string, string, CoreAppCredentials)
function getUserToken(context: TurnContext, connectionName: string, magicCode?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<TokenResponse>
Parâmetros
- context
-
TurnContext
- connectionName
-
string
- magicCode
-
string
- oAuthAppCredentials
-
CoreAppCredentials
Retornos
Promise<TokenResponse>
process(Request, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<void>)
Manipule uma conexão de soquete da Web aplicando uma função lógica a cada solicitação de streaming.
function process(req: Request, socket: INodeSocket, head: INodeBuffer, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- req
- Request
Uma solicitação HTTP de entrada
- socket
-
INodeSocket
O INodeSocket correspondente
- head
-
INodeBuffer
O INodeBuffer correspondente
- logic
-
(context: TurnContext) => Promise<void>
A função lógica a ser aplicada
Retornos
Promise<void>
uma promessa que representa a operação assíncrona.
process(Request, Response, (context: TurnContext) => Promise<void>)
Processe uma solicitação da Web aplicando uma função lógica.
function process(req: Request, res: Response, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- req
- Request
Uma solicitação HTTP de entrada
- logic
-
(context: TurnContext) => Promise<void>
A função lógica a ser aplicada
Retornos
Promise<void>
uma promessa que representa a operação assíncrona.
processActivity(WebRequest, WebResponse, (context: TurnContext) => Promise<any>)
Cria de forma assíncrona um contexto de turno e executa o pipeline de middleware para uma atividade de entrada.
function processActivity(req: WebRequest, res: WebResponse, logic: (context: TurnContext) => Promise<any>): Promise<void>
Parâmetros
- req
- WebRequest
Um objeto de solicitação de estilo Express ou Restify.
- res
- WebResponse
Um objeto de resposta de estilo Express ou Restify.
- logic
-
(context: TurnContext) => Promise<any>
A função a ser chamada no final do pipeline de middleware.
Retornos
Promise<void>
Comentários
Essa é a principal maneira de um bot receber mensagens de entrada e definir uma reviravolta na conversa. Este método:
- Analisa e autentica uma solicitação de entrada.
- A atividade é lida do corpo da solicitação de entrada. Um erro será retornado se a atividade não puder ser analisada.
- A identidade do remetente é autenticada como o Emulador ou um servidor Microsoft válido, usando os bots
appId
eappPassword
. A solicitação será rejeitada se a identidade do remetente não for verificada.
- Cria um objeto TurnContext para a atividade recebida.
- Esse objeto é encapsulado com um proxy revogável.
- Quando esse método for concluído, o proxy será revogado.
- Envia o contexto de turno por meio do pipeline de middleware do adaptador.
- Envia o contexto de turno para a
logic
função.- O bot pode executar roteamento ou processamento adicionais no momento.
Retornar uma promessa (ou fornecer um
async
manipulador) fará com que o adaptador aguarde a conclusão de qualquer operação assíncrona. - Depois que a
logic
função for concluída, a cadeia de promessas configurada pelo middleware será resolvida.
- O bot pode executar roteamento ou processamento adicionais no momento.
Retornar uma promessa (ou fornecer um
Dica
Se você vir o erro TypeError: Cannot perform 'set' on a proxy that has been revoked
na saída do console do bot, a causa provável é que uma função assíncrona tenha sido usada sem usar a await
palavra-chave . Verifique se todas as funções assíncronas usam await!
O middleware pode causar um curto-circuito em uma curva. Quando isso acontece, o middleware subsequente e a logic
função não são chamados; no entanto, todo o middleware antes desse ponto ainda é executado até a conclusão.
Para obter mais informações sobre o pipeline de middleware, consulte os artigos como os bots funcionam e o middleware .
Use o método de uso do adaptador para adicionar middleware ao adaptador.
Por exemplo:
server.post('/api/messages', (req, res) => {
// Route received request to adapter for processing
adapter.processActivity(req, res, async (context) => {
// Process any messages received
if (context.activity.type === ActivityTypes.Message) {
await context.sendActivity(`Hello World`);
}
});
});
processActivityDirect(Activity, (context: TurnContext) => Promise<any>)
Cria de forma assíncrona um contexto de turno e executa o pipeline de middleware para uma atividade de entrada.
function processActivityDirect(activity: Activity, logic: (context: TurnContext) => Promise<any>): Promise<void>
Parâmetros
- activity
-
Activity
A atividade a ser processada.
- logic
-
(context: TurnContext) => Promise<any>
A função a ser chamada no final do pipeline de middleware.
Retornos
Promise<void>
Comentários
Essa é a principal maneira de um bot receber mensagens de entrada e definir uma reviravolta na conversa. Este método:
- Cria um objeto TurnContext para a atividade recebida.
- Esse objeto é encapsulado com um proxy revogável.
- Quando esse método for concluído, o proxy será revogado.
- Envia o contexto de turno por meio do pipeline de middleware do adaptador.
- Envia o contexto de turno para a
logic
função.- O bot pode executar roteamento ou processamento adicionais no momento.
Retornar uma promessa (ou fornecer um
async
manipulador) fará com que o adaptador aguarde a conclusão de qualquer operação assíncrona. - Depois que a
logic
função for concluída, a cadeia de promessas configurada pelo middleware será resolvida.
- O bot pode executar roteamento ou processamento adicionais no momento.
Retornar uma promessa (ou fornecer um
O middleware pode fazer um curto-circuito em uma curva. Quando isso acontece, o middleware subsequente e a logic
função não são chamados; no entanto, todos os middlewares antes desse ponto ainda são executados até a conclusão.
Para obter mais informações sobre o pipeline de middleware, consulte os artigos como os bots funcionam e o middleware .
Use o método de uso do adaptador para adicionar middleware ao adaptador.
processRequest(IReceiveRequest)
Verifica a validade da solicitação e tenta mapeá-la para o ponto de extremidade virtual correto, gera e retorna uma resposta, se apropriado.
function processRequest(request: IReceiveRequest): Promise<StreamingResponse>
Parâmetros
- request
-
IReceiveRequest
Um ReceiveRequest do canal conectado.
Retornos
Promise<StreamingResponse>
Uma resposta criada pelo BotAdapter a ser enviada ao cliente que originou a solicitação.
sendActivities(TurnContext, Partial<Activity>[])
Envia de forma assíncrona um conjunto de atividades de saída para um servidor de canal. Esse método dá suporte à estrutura e não se destina a ser chamado diretamente para seu código. Use o método sendActivity ou sendActivities do contexto de turno do código do bot.
function sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>
Parâmetros
- context
-
TurnContext
O objeto de contexto para a curva.
- activities
-
Partial<Activity>[]
As atividades a serem enviadas.
Retornos
Promise<ResourceResponse[]>
Uma matriz de ResourceResponse
Comentários
As atividades serão enviadas uma após a outra na ordem em que são recebidas. Um objeto de resposta será retornado para cada atividade enviada. Para message
atividades, isso conterá a ID da mensagem entregue.
signOutUser(TurnContext, string, string)
Desconscroniza de forma assíncrona o usuário do servidor de token.
function signOutUser(context: TurnContext, connectionName?: string, userId?: string): Promise<void>
Parâmetros
- context
-
TurnContext
O objeto de contexto para a curva.
- connectionName
-
string
O nome da conexão de autenticação a ser usada.
- userId
-
string
A ID do usuário para sair.
Retornos
Promise<void>
signOutUser(TurnContext, string, string, CoreAppCredentials)
function signOutUser(context: TurnContext, connectionName?: string, userId?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<void>
Parâmetros
- context
-
TurnContext
- connectionName
-
string
- userId
-
string
- oAuthAppCredentials
-
CoreAppCredentials
Retornos
Promise<void>
updateActivity(TurnContext, Partial<Activity>)
Substitui de forma assíncrona uma atividade anterior por uma versão atualizada. Essa interface dá suporte à estrutura e não se destina a ser chamada diretamente para seu código. Use TurnContext.updateActivity para atualizar uma atividade do código do bot.
function updateActivity(context: TurnContext, activity: Partial<Activity>): Promise<ResourceResponse | void>
Parâmetros
- context
-
TurnContext
O objeto de contexto para a curva.
- activity
-
Partial<Activity>
A versão atualizada da atividade a ser substituída.
Retornos
Promise<ResourceResponse | void>
Um Promise
que representa o ResourceResponse para a operação.
Comentários
Nem todos os canais dão suporte a essa operação. Para canais que não o fazem, essa chamada pode gerar uma exceção.
useNamedPipe((context: TurnContext) => Promise<any>, string, number, () => void)
Conecta o manipulador a um servidor pipe nomeado e começa a escutar solicitações de entrada.
function useNamedPipe(logic: (context: TurnContext) => Promise<any>, pipeName?: string, retryCount?: number, onListen?: () => void): Promise<void>
Parâmetros
- logic
-
(context: TurnContext) => Promise<any>
A lógica que manipulará as solicitações de entrada.
- pipeName
-
string
O nome do pipe nomeado a ser usado ao criar o servidor.
- retryCount
-
number
Número de vezes para tentar associar o pipe de entrada e saída
- onListen
-
() => void
Retorno de chamada opcional que é acionado uma vez quando o servidor está escutando no pipe de entrada e saída
Retornos
Promise<void>
useWebSocket(WebRequest, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<any>)
Processe a solicitação inicial para estabelecer uma conexão de longa duração por meio de um servidor de streaming.
function useWebSocket(req: WebRequest, socket: INodeSocket, head: INodeBuffer, logic: (context: TurnContext) => Promise<any>): Promise<void>
Parâmetros
- req
- WebRequest
A solicitação de conexão.
- socket
-
INodeSocket
A conexão de soquete bruto entre o bot (servidor) e o canal/chamador (cliente).
- head
-
INodeBuffer
O primeiro pacote do fluxo atualizado.
- logic
-
(context: TurnContext) => Promise<any>
A lógica que manipula solicitações de streaming de entrada para o tempo de vida da conexão WebSocket.
Retornos
Promise<void>
Detalhes do método herdado
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Retoma de forma assíncrona uma conversa com um usuário, possivelmente após algum tempo.
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- claimsIdentity
-
ClaimsIdentity
Uma ClaimsIdentity para a conversa.
- reference
-
Partial<ConversationReference>
Uma ConversationReference parcial para a conversa continuar.
- logic
-
(context: TurnContext) => Promise<void>
O método assíncrono a ser chamado após a execução do middleware do adaptador.
Retornos
Promise<void>
uma promessa que representa a operação assíncrona
Herdado de BotAdapter.continueConversationAsync
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)
Retoma de forma assíncrona uma conversa com um usuário, possivelmente após algum tempo.
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, audience: string, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- claimsIdentity
-
ClaimsIdentity
Uma ClaimsIdentity para a conversa.
- reference
-
Partial<ConversationReference>
Uma ConversationReference parcial para a conversa continuar.
- audience
-
string
Um valor que significa o destinatário da mensagem proativa.
- logic
-
(context: TurnContext) => Promise<void>
O método assíncrono a ser chamado após a execução do middleware do adaptador.
Retornos
Promise<void>
uma promessa que representa a operação assíncrona
Herdado de BotAdapter.continueConversationAsync
continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Retoma de forma assíncrona uma conversa com um usuário, possivelmente após algum tempo.
function continueConversationAsync(botAppId: string, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- botAppId
-
string
A ID do aplicativo do bot. Esse parâmetro é ignorado em um único locatário dos Adaptadores (Console, Teste etc.), mas é fundamental para o BotFrameworkAdapter, que tem reconhecimento multilocatário.
- reference
-
Partial<ConversationReference>
Uma ConversationReference parcial para a conversa continuar.
- logic
-
(context: TurnContext) => Promise<void>
O método assíncrono a ser chamado após a execução do middleware do adaptador.
Retornos
Promise<void>
uma promessa que representa a operação assíncrona
Herdado de BotAdapter.continueConversationAsync
createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)
Cria uma conversa no canal especificado.
function createConversationAsync(_botAppId: string, _channelId: string, _serviceUrl: string, _audience: string, _conversationParameters: ConversationParameters, _logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- _botAppId
-
string
A ID do aplicativo do bot.
- _channelId
-
string
A ID do canal.
- _serviceUrl
-
string
A ID do canal.
- _audience
-
string
O público-alvo do conector.
- _conversationParameters
-
ConversationParameters
As informações de conversa a serem usadas para criar a conversa
- _logic
-
(context: TurnContext) => Promise<void>
O método a ser chamado para a volta do bot resultante.
Retornos
Promise<void>
Uma promessa que representa a operação assíncrona
Comentários
Para iniciar uma conversa, seu bot deve saber suas informações de conta e as informações da conta do usuário nesse canal. A maioria dos _channels dá suporte apenas ao início de uma conversa de mensagem direta (não grupo).
O adaptador tenta criar uma nova conversa no canal e, em seguida, envia uma conversationUpdate
atividade por meio de seu pipeline de middleware para o método lógico.
Se a conversa for estabelecida com os usuários especificados, a ID da conversão da atividade conterá a ID da nova conversa.
Herdado de BotAdapter.createConversationAsync
use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])
Adiciona middleware ao pipeline do adaptador.
function use(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]): this
Parâmetros
- middlewares
-
(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]
Os manipuladores de middleware ou middleware a serem adicionados.
Retornos
this
O objeto do adaptador atualizado.
Comentários
O middleware é adicionado ao adaptador no momento da inicialização. A cada turno, o adaptador chama seu middleware na ordem em que você o adicionou.
Herdado de BotAdapter.use