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
|
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
|
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
|
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.
get_oauth_sign_in_link
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
|
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
|
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é 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.