BotFrameworkAdapter Classe

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

Initialise une nouvelle instance de la classe BotFrameworkAdapter.

Constructeur

BotFrameworkAdapter(settings: BotFrameworkAdapterSettings)

Paramètres

Nom Description
settings
Obligatoire

Paramètres à initialiser l’adaptateur

Remarques

L’adaptateur de bot encapsule les processus d’authentification et envoie des activités vers et reçoit des activités du service Bot Connector. 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 renvoie des réponses au canal de l’utilisateur. L’adaptateur traite et dirige les activités entrantes via le pipeline d’intergiciel de bot vers la logique de votre bot, puis revient à nouveau. À mesure que chaque activité circule dans et hors du bot, chaque élément d’intergiciel peut inspecter ou agir sur l’activité, avant et après l’exécution de la logique du bot.

Méthodes

can_process_outgoing_activity
continue_conversation

Poursuit une conversation avec un utilisateur.

et est généralement trouvé dans le paramètre MicrosoftAppId dans config.py. :type bot_id : <xref:typing.str> :p aram claims_identity : L’identité de revendications du bot :type claims_identity : audience <xref:botframework.connector.auth.ClaimsIdentity> :p aram : :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 le message vers un membre d’un groupe.

delete_activity

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

Note

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

delete_conversation_member

Supprime un membre de la conversation actuelle.

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 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

Répertorie les membres d’une activité donnée.

S’il n’est pas spécifié, l’ID d’activité actuel est utilisé.

get_conversation_member

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

get_conversation_members

Répertorie les membres d’une conversation actuelle.

get_conversations

Répertorie les conversations dans lesquelles 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 pour un nom de connexion.

get_sign_in_resource_from_user
get_sign_in_resource_from_user_and_credentials
get_token_status

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

Vide retourne l’état du jeton 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.

utilisateur :p aram magic_code » (facultatif) 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é précédemment envoyée à un canal. Il convient de 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 est généralement trouvé dans le paramètre MicrosoftAppId dans config.py. :type bot_id : <xref:typing.str> :p aram claims_identity : L’identité de revendications du bot :type claims_identity : audience <xref:botframework.connector.auth.ClaimsIdentity> :p aram : :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 de bots flux de messagerie proactive, car il permet au bot d’envoyer de manière proactive des messages à une conversation ou à un utilisateur 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

Instance de la classe <xref:botbuilder.core.ConnectorClient>

create_conversation

Démarre une nouvelle conversation avec un utilisateur. Utilisé pour diriger le 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 de l’URL du 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 de message direct (non-groupe). L’adaptateur tente de créer une conversation sur le canal, puis envoie une activité de mise à jour de conversation via son pipeline 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 convient de noter que tous les canaux ne prennent pas en charge cette fonctionnalité.

Note

Le activity_id de l'ConversationReference identifie 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 actuelle.

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.</returns

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 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 pour le fichier :class :'botbuilder.schema.TokenResponse' correspondant

get_activity_members

Répertorie les membres d’une activité donnée.

S’il n’est pas spécifié, l’ID d’activité actuel est 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érez 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

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

Répertorie 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 actuelle

Exceptions

Type Description
TypeError if missing service_url or conversation.id

get_conversations

Répertorie les conversations dans lesquelles 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 les pages et chaque page inclut une continuationToken qui peut être utilisée pour extraire la page suivante des résultats à partir du serveur. Si la tâche se termine correctement, le résultat contient une page des membres de la conversation active. Cette surcharge peut être appelée en dehors du contexte d’une conversation, car seules l’URL et les informations d’identification du service du bot sont requises.

Obtient le lien de connexion brut à envoyer à l’utilisateur pour la connexion pour 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 du tour de conversation actuel avec l’utilisateur

connection_name
Obligatoire
str

Nom de la connexion d’authentification à utiliser

final_redirect

URL finale vers laquelle le flux OAuth redirige.

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 brute

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 l’état du jeton pour chaque connexion configurée pour l’utilisateur donné.

Vide retourne l’état du jeton 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.

utilisateur :p aram magic_code » (facultatif) 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 de 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 bots. Cela inclut tous les messages envoyés par un utilisateur et est la méthode qui pilote ce qui est souvent appelé bots flux de messagerie réactive. Appelez cette méthode pour envoyer un message de manière réactive à une conversation. Si la tâche se termine correctement, une InvokeResponse est retournée ; autrement. null est retourné.

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 du tour de conversation actuel 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é précédemment envoyée à un canal. Il convient de 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 objet ResourceResponse contenant l’ID que le canal de réception affecté à l’activité. Avant d’appeler cette fonction, définissez l’ID de l’activité de remplacement sur l’ID de l’activité à remplacer.