BotFrameworkAdapter Classe

Définit un adaptateur pour connecter un bot à un point de terminaison de service.

Initialise une nouvelle instance de la classe BotFrameworkAdapter.

Héritage
BotFrameworkAdapter
BotFrameworkAdapter
BotFrameworkAdapter

Constructeur

BotFrameworkAdapter(settings: BotFrameworkAdapterSettings)

Paramètres

Nom Description
settings
Obligatoire

Paramètres d’initialisation de l’adaptateur

Remarques

L’adaptateur de bot encapsule le processus d’authentification et envoie les activités au service Bot Connector et en reçoit de celui-ci. Lorsque votre bot reçoit une activité, l’adaptateur crée un objet de contexte, le transmet à la logique d’application de votre bot et envoie des réponses au canal de l’utilisateur. L’adaptateur traite et dirige les activités entrantes via le pipeline d’intergiciels de bot vers la logique de votre bot, puis recule à nouveau. Comme chaque activité entre et sort du bot, chaque middleware peut effectuer une inspection ou une action sur l’activité, avant comme après l’exécution de la logique de bot.

Méthodes

can_process_outgoing_activity
continue_conversation

Poursuit une conversation avec un utilisateur.

et se trouve généralement dans le paramètre MicrosoftAppId dans config.py. :type bot_id : <xref:typing.str> :p aram claims_identity : Le bot revendications identity :type claims_identity : <xref:botframework.connector.auth.ClaimsIdentity> :p aram audience : :type audience : :type audience : <xref:typing.str>

create_connector_client

Implémentation de ConnectorClientProvider.create_connector_client.

create_conversation

Démarre une nouvelle conversation avec un utilisateur. Utilisé pour diriger un message vers un membre d’un groupe.

delete_activity

Supprime une activité précédemment envoyée à un canal. Il est à noter que tous les canaux ne prennent pas en charge cette fonctionnalité.

Notes

Le activity_id de identifie ConversationReference l’activité à supprimer.

delete_conversation_member

Supprime un membre de la conversation en cours.

exchange_token
exchange_token_from_credentials
get_aad_tokens

Récupère des jetons Azure Active Directory pour des ressources particulières sur une connexion configurée.

à partir de l’activité dans le TurnContext. :type user_id : str :p aram oauth_app_credentials : (Facultatif) AppCredentials pour OAuth. :type oauth_app_credentials : <xref:botframework.connector.auth.AppCredential>

get_activity_members

Listes les membres d’une activité donnée.

S’il n’est pas spécifié, l’ID des activités actuelles sera utilisé.

get_conversation_member

Récupérer un membre d’une conversation actuelle.

get_conversation_members

Listes les membres d’une conversation actuelle.

get_conversations

Listes les conversations auxquelles ce bot a participé pour un serveur de canal donné.

context.activity.serviceUrl :type service_url : str

get_oauth_sign_in_link

Obtient le lien de connexion brut à envoyer à l’utilisateur pour la connexion d’un nom de connexion.

get_sign_in_resource_from_user
get_sign_in_resource_from_user_and_credentials
get_token_status

Récupère le jeton status pour chaque connexion configurée pour l’utilisateur donné.

L’option Vide retourne le jeton status pour toutes les connexions configurées. :type include_filter : str :p aram oauth_app_credentials : (Facultatif) AppCredentials pour OAuth. :type oauth_app_credentials : <xref:botframework.connector.auth.AppCredential>

get_user_token

Tente de récupérer le jeton d’un utilisateur qui se trouve dans un flux de connexion.

:p aram magic_code » (Facultatif) l’utilisateur a entré du code pour valider :str magic_code » str :p aram oauth_app_credentials : (Facultatif) AppCredentials pour OAuth. :type oauth_app_credentials : <xref:botframework.connector.auth.AppCredential>

key_for_app_credentials
key_for_connector_client
parse_request

Analyse et valide la requête :p aram req : :return :

process_activity

Crée un contexte de tour et exécute le pipeline d’intergiciel pour une activité entrante.

process_activity_with_identity
process_outgoing_activity
send_activities
sign_out_user

Déconnecte l’utilisateur avec le serveur de jetons.

update_activity

Remplace une activité qui a été précédemment envoyée à un canal. Il est à noter que tous les canaux ne prennent pas en charge cette fonctionnalité.

can_process_outgoing_activity

can_process_outgoing_activity(activity: Activity) -> bool

Paramètres

Nom Description
activity
Obligatoire

continue_conversation

Poursuit une conversation avec un utilisateur.

et se trouve généralement dans le paramètre MicrosoftAppId dans config.py. :type bot_id : <xref:typing.str> :p aram claims_identity : Le bot revendications identity :type claims_identity : <xref:botframework.connector.auth.ClaimsIdentity> :p aram audience : :type audience : :type audience : <xref:typing.str>

async continue_conversation(reference: ConversationReference, callback: Callable, bot_id: str = None, claims_identity: ClaimsIdentity = None, audience: str = None)

Paramètres

Nom Description
reference
Obligatoire
callback
Obligatoire
bot_id
valeur par défaut: None
claims_identity
valeur par défaut: None
audience
valeur par défaut: None

Retours

Type Description

Tâche qui représente le travail mis en file d’attente à exécuter.

Exceptions

Type Description
It raises an argument null exception.

Remarques

Il s’agit souvent du flux de messagerie proactive des bots, car il permet au bot d’envoyer de manière proactive des messages à une conversation ou à un utilisateur qui sont déjà dans une communication. Les scénarios tels que l’envoi de notifications ou de coupons à un utilisateur sont activés par cette fonction.

create_connector_client

Implémentation de ConnectorClientProvider.create_connector_client.

async create_connector_client(service_url: str, identity: ClaimsIdentity = None, audience: str = None) -> ConnectorClient

Paramètres

Nom Description
service_url
Obligatoire

URL du service

identity

Identité des revendications

valeur par défaut: None
audience
valeur par défaut: None

Retours

Type Description

Un instance de la <xref:botbuilder.core.ConnectorClient> classe

create_conversation

Démarre une nouvelle conversation avec un utilisateur. Utilisé pour diriger un message vers un membre d’un groupe.

async create_conversation(reference: ConversationReference, logic: Callable[[TurnContext], Awaitable] = None, conversation_parameters: ConversationParameters = None, channel_id: str = None, service_url: str = None, credentials: AppCredentials = None)

Paramètres

Nom Description
reference
Obligatoire

Référence de conversation qui contient le locataire

logic

Logique à utiliser pour la création de la conversation

valeur par défaut: None
conversation_parameters

Informations à utiliser pour créer la conversation

valeur par défaut: None
channel_id
<xref:typing.str>

ID du canal.

valeur par défaut: None
service_url
<xref:typing.str>

Point de terminaison d’URL de service du canal.

valeur par défaut: None
credentials
<xref:botframework.connector.auth.AppCredentials>

Informations d’identification de l’application pour le bot.

valeur par défaut: None

Retours

Type Description

Tâche représentant le travail mis en file d’attente à exécuter.

Exceptions

Type Description
It raises a generic exception error.

Remarques

Pour démarrer une conversation, votre bot doit connaître ses informations de compte et les informations de compte de l’utilisateur sur ce canal. La plupart des canaux prennent uniquement en charge le lancement d’une conversation par message direct (non de groupe). L’adaptateur tente de créer une conversation sur le canal, puis envoie une activité de mise à jour de conversation via son pipeline d’intergiciel (middleware) à la méthode de rappel. Si la conversation est établie avec les utilisateurs spécifiés, l’ID de l’activité contient l’ID de la nouvelle conversation.

delete_activity

Supprime une activité précédemment envoyée à un canal. Il est à noter que tous les canaux ne prennent pas en charge cette fonctionnalité.

Notes

Le activity_id de identifie ConversationReference l’activité à supprimer.

async delete_activity(context: TurnContext, reference: ConversationReference)

Paramètres

Nom Description
context
Obligatoire

Objet de contexte pour le tour

reference
Obligatoire

Référence de conversation pour l’activité à supprimer

Retours

Type Description

Tâche qui représente le travail mis en file d’attente à exécuter

Exceptions

Type Description
A exception error

delete_conversation_member

Supprime un membre de la conversation en cours.

async delete_conversation_member(context: TurnContext, member_id: str) -> None

Paramètres

Nom Description
context
Obligatoire

Objet de contexte pour le tour

member_id
Obligatoire
str

ID du membre à supprimer de la conversation

Retours

Type Description

Tâche qui représente le travail mis en file d’attente à exécuter.</Retourne

Exceptions

Type Description
A exception error

exchange_token

async exchange_token(turn_context: TurnContext, connection_name: str, user_id: str, exchange_request: TokenExchangeRequest) -> TokenResponse

Paramètres

Nom Description
turn_context
Obligatoire
connection_name
Obligatoire
user_id
Obligatoire
exchange_request
Obligatoire

exchange_token_from_credentials

async exchange_token_from_credentials(turn_context: TurnContext, oauth_app_credentials: AppCredentials, connection_name: str, user_id: str, exchange_request: TokenExchangeRequest) -> TokenResponse

Paramètres

Nom Description
turn_context
Obligatoire
oauth_app_credentials
Obligatoire
connection_name
Obligatoire
user_id
Obligatoire
exchange_request
Obligatoire

get_aad_tokens

Récupère des jetons Azure Active Directory pour des ressources particulières sur une connexion configurée.

à partir de l’activité dans le TurnContext. :type user_id : str :p aram oauth_app_credentials : (Facultatif) AppCredentials pour OAuth. :type oauth_app_credentials : <xref:botframework.connector.auth.AppCredential>

async get_aad_tokens(context: TurnContext, connection_name: str, resource_urls: List[str], user_id: str = None, oauth_app_credentials: AppCredentials = None) -> Dict[str, TokenResponse]

Paramètres

Nom Description
context
Obligatoire
connection_name
Obligatoire
resource_urls
Obligatoire
user_id
valeur par défaut: None
oauth_app_credentials
valeur par défaut: None

Retours

Type Description

Dictionnaire d’URL de ressource vers le :class :'botbuilder.schema.TokenResponse' correspondant

get_activity_members

Listes les membres d’une activité donnée.

S’il n’est pas spécifié, l’ID des activités actuelles sera utilisé.

async get_activity_members(context: TurnContext, activity_id: str)

Paramètres

Nom Description
context
Obligatoire
activity_id
Obligatoire

Retours

Type Description

Liste des membres de l’activité

Exceptions

Type Description
An exception error

get_conversation_member

Récupérer un membre d’une conversation actuelle.

async get_conversation_member(context: TurnContext, member_id: str) -> ChannelAccount

Paramètres

Nom Description
context
Obligatoire

Objet de contexte pour le tour

member_id
Obligatoire
str

ID de membre

Retours

Type Description

Un membre de la conversation actuelle

Exceptions

Type Description
<xref:A TypeError if missing member_id>, <xref:service_url>, <xref:or conversation.id>

get_conversation_members

Listes les membres d’une conversation actuelle.

async get_conversation_members(context: TurnContext)

Paramètres

Nom Description
context
Obligatoire

Objet de contexte pour le tour

Retours

Type Description

Liste des membres de la conversation en cours

Exceptions

Type Description
TypeError if missing service_url or conversation.id

get_conversations

Listes les conversations auxquelles ce bot a participé pour un serveur de canal donné.

context.activity.serviceUrl :type service_url : str

async get_conversations(service_url: str, credentials: AppCredentials, continuation_token: str = None)

Paramètres

Nom Description
continuation_token
str

Jeton de continuation de la page précédente des résultats

valeur par défaut: None
service_url
Obligatoire
credentials
Obligatoire

Retours

Type Description

Tâche qui représente le travail mis en file d’attente à exécuter

Exceptions

Type Description
A generic exception error

Remarques

Le serveur de canal retourne les résultats dans des pages et chaque page inclut un continuationToken qui peut être utilisé pour extraire la page suivante des résultats du serveur. Si la tâche se termine correctement, le résultat contient une page des membres de la conversation actuelle. Cette surcharge peut être appelée à partir de l’extérieur du contexte d’une conversation, car seules l’URL du service et les informations d’identification du bot sont requises.

Obtient le lien de connexion brut à envoyer à l’utilisateur pour la connexion d’un nom de connexion.

async get_oauth_sign_in_link(context: TurnContext, connection_name: str, final_redirect: str = None, oauth_app_credentials: AppCredentials = None) -> str

Paramètres

Nom Description
context
Obligatoire

Contexte de la conversation actuelle avec l’utilisateur

connection_name
Obligatoire
str

Nom de la connexion d’authentification à utiliser

final_redirect

URL finale vers laquelle le flux OAuth redirigera.

valeur par défaut: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Facultatif) AppCredentials pour OAuth.

valeur par défaut: None

Retours

Type Description

Si la tâche se termine correctement, le résultat contient le lien de connexion brut

get_sign_in_resource_from_user

async get_sign_in_resource_from_user(turn_context: TurnContext, connection_name: str, user_id: str, final_redirect: str = None) -> SignInUrlResponse

Paramètres

Nom Description
turn_context
Obligatoire
connection_name
Obligatoire
user_id
Obligatoire
final_redirect
valeur par défaut: None

get_sign_in_resource_from_user_and_credentials

async get_sign_in_resource_from_user_and_credentials(turn_context: TurnContext, oauth_app_credentials: AppCredentials, connection_name: str, user_id: str, final_redirect: str = None) -> SignInUrlResponse

Paramètres

Nom Description
turn_context
Obligatoire
oauth_app_credentials
Obligatoire
connection_name
Obligatoire
user_id
Obligatoire
final_redirect
valeur par défaut: None

get_token_status

Récupère le jeton status pour chaque connexion configurée pour l’utilisateur donné.

L’option Vide retourne le jeton status pour toutes les connexions configurées. :type include_filter : str :p aram oauth_app_credentials : (Facultatif) AppCredentials pour OAuth. :type oauth_app_credentials : <xref:botframework.connector.auth.AppCredential>

async get_token_status(context: TurnContext, connection_name: str = None, user_id: str = None, include_filter: str = None, oauth_app_credentials: AppCredentials = None) -> List[TokenStatus]

Paramètres

Nom Description
context
Obligatoire
connection_name
valeur par défaut: None
user_id
valeur par défaut: None
include_filter
valeur par défaut: None
oauth_app_credentials
valeur par défaut: None

Retours

Type Description

Tableau de <xref:botframework.connector.token_api.modelsTokenStatus>

get_user_token

Tente de récupérer le jeton d’un utilisateur qui se trouve dans un flux de connexion.

:p aram magic_code » (Facultatif) l’utilisateur a entré du code pour valider :str magic_code » str :p aram oauth_app_credentials : (Facultatif) AppCredentials pour OAuth. :type oauth_app_credentials : <xref:botframework.connector.auth.AppCredential>

async get_user_token(context: TurnContext, connection_name: str, magic_code: str = None, oauth_app_credentials: AppCredentials = None) -> TokenResponse

Paramètres

Nom Description
context
Obligatoire
connection_name
Obligatoire
magic_code
valeur par défaut: None
oauth_app_credentials
valeur par défaut: None

Retours

Type Description
:<xref:class>:’TokenResponse`

Réponse du jeton

Exceptions

Type Description
An exception error

key_for_app_credentials

static key_for_app_credentials(app_id: str, scope: str)

Paramètres

Nom Description
app_id
Obligatoire
scope
Obligatoire

key_for_connector_client

static key_for_connector_client(service_url: str, app_id: str, scope: str)

Paramètres

Nom Description
service_url
Obligatoire
app_id
Obligatoire
scope
Obligatoire

parse_request

Analyse et valide la requête :p aram req : :return :

async static parse_request(req)

Paramètres

Nom Description
req
Obligatoire

process_activity

Crée un contexte de tour et exécute le pipeline d’intergiciel pour une activité entrante.

async process_activity(req, auth_header: str, logic: Callable)

Paramètres

Nom Description
req
Obligatoire
<xref:typing.str>

Activité entrante

auth_header
Obligatoire
<xref:typing.str>

En-tête d’authentification HTTP de la requête

logic
Obligatoire

Logique à exécuter à la fin du pipeline d’intergiciel de l’adaptateur.

Retours

Type Description

Tâche qui représente le travail mis en file d’attente à exécuter.

Remarques

Cette classe traite une activité reçue par le serveur web des bots. Cela inclut tous les messages envoyés par un utilisateur et est la méthode qui pilote ce que l’on appelle souvent le flux de messagerie réactive des bots. Appelez cette méthode pour envoyer de manière réactive un message à une conversation. Si la tâche se termine correctement, un InvokeResponse est retourné ; sinon. La valeur null est retournée.

process_activity_with_identity

async process_activity_with_identity(activity: Activity, identity: ClaimsIdentity, logic: Callable)

Paramètres

Nom Description
activity
Obligatoire
identity
Obligatoire
logic
Obligatoire

process_outgoing_activity

async process_outgoing_activity(turn_context: TurnContext, activity: Activity) -> ResourceResponse

Paramètres

Nom Description
turn_context
Obligatoire
activity
Obligatoire

send_activities

async send_activities(context: TurnContext, activities: List[Activity]) -> List[ResourceResponse]

Paramètres

Nom Description
context
Obligatoire
activities
Obligatoire

sign_out_user

Déconnecte l’utilisateur avec le serveur de jetons.

async sign_out_user(context: TurnContext, connection_name: str = None, user_id: str = None, oauth_app_credentials: AppCredentials = None)

Paramètres

Nom Description
context
Obligatoire

Contexte de la conversation actuelle avec l’utilisateur

connection_name
str

Nom de la connexion d’authentification à utiliser

valeur par défaut: None
user_id
str

ID utilisateur de l’utilisateur à déconnecter

valeur par défaut: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Facultatif) AppCredentials pour OAuth.

valeur par défaut: None

update_activity

Remplace une activité qui a été précédemment envoyée à un canal. Il est à noter que tous les canaux ne prennent pas en charge cette fonctionnalité.

async update_activity(context: TurnContext, activity: Activity)

Paramètres

Nom Description
context
Obligatoire

Objet de contexte pour le tour

activity
Obligatoire

Nouvelle activité de remplacement

Retours

Type Description

Tâche qui représente le travail mis en file d’attente à exécuter

Exceptions

Type Description
A generic exception error

Remarques

Si l’activité est correctement envoyée, le résultat de la tâche contient un ResourceResponse objet contenant l’ID que le canal de réception a affecté à l’activité. Avant d’appeler cette fonction, définissez l’ID de l’activité de remplacement sur l’ID de l’activité à remplacer.