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
-
BotFrameworkAdapterBotFrameworkAdapterBotFrameworkAdapter
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
|
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
|
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
|
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.
get_oauth_sign_in_link
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
|
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
|
Nom de la connexion d’authentification à utiliser Valeur par défaut: None
|
user_id
|
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.