ChannelServiceHandler Classe

Inizializza una nuova istanza della classe utilizzando un provider di credenziali.

Costruttore

ChannelServiceHandler(credential_provider: CredentialProvider, auth_config: AuthenticationConfiguration, channel_provider: ChannelProvider = None)

Parametri

Nome Descrizione
credential_provider
Necessario
auth_config
Necessario
channel_provider
Valore predefinito: None

Metodi

handle_create_conversation
handle_delete_activity
handle_delete_conversation_member
handle_get_activity_members
handle_get_conversation_member
handle_get_conversation_members
handle_get_conversation_paged_members
handle_get_conversations
handle_reply_to_activity
handle_send_conversation_history
handle_send_to_conversation
handle_update_activity
handle_upload_attachment
on_create_conversation

API create_conversation() per competenza

Creare una nuova conversazione.

POST a questo metodo con un

  • Bot che crea la conversazione
  • IsGroup impostato su true se non è un messaggio diretto (il valore predefinito è false)
  • Matrice contenente i membri da includere nella conversazione

Il valore restituito è resourceResponse che contiene un ID conversazione adatto per l'uso nei payload del messaggio e negli URI dell'API REST.

La maggior parte dei canali supporta solo la semantica dei bot che avviano una conversazione diretta dei messaggi. Un esempio di come eseguire questa operazione è:

var resource = await connector.conversations.CreateConversation(new ConversationParameters(){ Bot = bot, members = new ChannelAccount[] { new ChannelAccount("user1") } ); await connect. Conversations.SendToConversationAsync(resource. ID, new Activity() ... ) ;

fine.

on_delete_activity

API delete_activity() per competenza.

Eliminare un'attività esistente.

Alcuni canali consentono di eliminare un'attività esistente e, in caso di esito positivo, questo metodo rimuoverà l'attività specificata.

on_delete_conversation_member

API delete_conversation_member() per competenza.

Elimina un membro da una conversazione.

Questa API REST accetta un Valore ConversationId e un memberId (di tipo string) e rimuove tale membro dalla conversazione. Se tale membro è l'ultimo membro della conversazione, verrà eliminata anche la conversazione.

on_get_activity_members

API get_activity_members() per competenza.

Enumerare i membri di un'attività.

Questa API REST accetta un ConversationId e un ActivityId, restituendo una matrice di oggetti ChannelAccount che rappresentano i membri della particolare attività nella conversazione.

on_get_conversation_member

API get_conversation_member() per competenza.

Enumerare i membri di una conversazione.

Questa API REST accetta un ConversationId e restituisce un elenco di oggetti ChannelAccount che rappresentano i membri della conversazione.

on_get_conversation_members

API get_conversation_members() per skill.

Enumerare i membri di una conversazione.

Questa API REST accetta un ConversationId e restituisce un elenco di oggetti ChannelAccount che rappresentano i membri della conversazione.

on_get_conversation_paged_members

API get_conversation_paged_members() per competenza.

Enumerare i membri di una conversazione una pagina alla volta.

Questa API REST accetta un ConversationId. Facoltativamente, è possibile specificare un page_size e/o un continuation_token. Restituisce un valore PagedMembersResult, che contiene una matrice di ChannelAccounts che rappresenta i membri della conversazione e un token di continuazione che può essere usato per ottenere più valori.

Ogni chiamata restituisce una pagina di record ChannelAccounts. Il numero di record in una pagina può variare tra canali e chiamate. Il parametro page_size può essere usato come suggerimento. Se non sono presenti risultati aggiuntivi, la risposta non conterrà un token di continuazione. Se nella conversazione non sono presenti membri, i membri saranno vuoti o non presenti nella risposta.

Una risposta a una richiesta con un token di continuazione da una richiesta precedente può restituire raramente membri da una richiesta precedente.

on_get_conversations

API get_conversations() per competenza

Elencare le conversazioni in cui ha partecipato il bot.

GET da questo metodo con un token skip

Il valore restituito è ConversationResult, che contiene una matrice di ConversationMembers e un token skip. Se il token skip non è vuoto, sono disponibili altri valori da restituire. Chiamare di nuovo questo metodo con il token restituito per ottenere altri valori.

Ogni oggetto ConversationMembers contiene l'ID della conversazione e una matrice di ChannelAccounts che descrivono i membri della conversazione.

on_reply_to_activity

API reply_to_activity() per competenza.

Questo metodo consente di rispondere a un'attività.

Questo è leggermente diverso da SendToConversation().

  • SendToConversation(conversationId): aggiungerà l'attività alla fine della conversazione in base al timestamp o alla semantica del canale.
  • ReplyToActivity(conversationId,ActivityId): aggiunge l'attività come risposta a un'altra attività, se il canale lo supporta. Se il canale non supporta le risposte annidate, ReplyToActivity esegue il fallback a SendToConversation.

Usare ReplyToActivity quando si risponde a un'attività specifica nella conversazione.

Usare SendToConversation in tutti gli altri casi.

on_send_conversation_history

API send_conversation_history() per competenza.

Questo metodo consente di caricare le attività storiche nella conversazione.

Il mittente deve assicurarsi che le attività cronologiche abbiano ID univoci e timestamp appropriati. Gli ID vengono usati dal client per gestire le attività duplicate e i timestamp vengono usati dal client per eseguire il rendering delle attività nell'ordine corretto.

on_send_to_conversation

API send_to_conversation() per competenza

Questo metodo consente di inviare un'attività alla fine di una conversazione.

Questo è leggermente diverso da ReplyToActivity().

  • SendToConversation(conversationId): aggiungerà l'attività alla fine della conversazione in base al timestamp o alla semantica del canale.
  • ReplyToActivity(conversationId,ActivityId): aggiunge l'attività come risposta a un'altra attività, se il canale lo supporta. Se il canale non supporta le risposte annidate, ReplyToActivity esegue il fallback a SendToConversation.

Usare ReplyToActivity quando si risponde a un'attività specifica nella conversazione.

Usare SendToConversation in tutti gli altri casi.

on_update_activity

API update_activity() per competenza.

Modificare un'attività esistente.

Alcuni canali consentono di modificare un'attività esistente per riflettere il nuovo stato di una conversazione bot.

Ad esempio, è possibile rimuovere i pulsanti dopo che un utente ha fatto clic sul pulsante "Approva".

on_upload_attachment

API upload_attachment() per skill.

Caricare un allegato direttamente nell'archivio BLOB di un canale.

Ciò è utile perché consente di archiviare i dati in un archivio conforme quando si gestiscono le aziende.

La risposta è un oggetto ResourceResponse che contiene un AttachmentId adatto per l'uso con l'API allegati.

handle_create_conversation

async handle_create_conversation(auth_header, parameters: ConversationParameters) -> ConversationResourceResponse

Parametri

Nome Descrizione
auth_header
Necessario
parameters
Necessario

handle_delete_activity

async handle_delete_activity(auth_header, conversation_id, activity_id)

Parametri

Nome Descrizione
auth_header
Necessario
conversation_id
Necessario
activity_id
Necessario

handle_delete_conversation_member

async handle_delete_conversation_member(auth_header, conversation_id, member_id)

Parametri

Nome Descrizione
auth_header
Necessario
conversation_id
Necessario
member_id
Necessario

handle_get_activity_members

async handle_get_activity_members(auth_header, conversation_id, activity_id) -> List[ChannelAccount]

Parametri

Nome Descrizione
auth_header
Necessario
conversation_id
Necessario
activity_id
Necessario

handle_get_conversation_member

async handle_get_conversation_member(auth_header, conversation_id, member_id) -> ChannelAccount

Parametri

Nome Descrizione
auth_header
Necessario
conversation_id
Necessario
member_id
Necessario

handle_get_conversation_members

async handle_get_conversation_members(auth_header, conversation_id) -> List[ChannelAccount]

Parametri

Nome Descrizione
auth_header
Necessario
conversation_id
Necessario

handle_get_conversation_paged_members

async handle_get_conversation_paged_members(auth_header, conversation_id, page_size: int = 0, continuation_token: str = '') -> PagedMembersResult

Parametri

Nome Descrizione
auth_header
Necessario
conversation_id
Necessario
page_size
Valore predefinito: 0
continuation_token

handle_get_conversations

async handle_get_conversations(auth_header, continuation_token: str = '') -> ConversationsResult

Parametri

Nome Descrizione
auth_header
Necessario
continuation_token

handle_reply_to_activity

async handle_reply_to_activity(auth_header, conversation_id, activity_id, activity) -> ResourceResponse

Parametri

Nome Descrizione
auth_header
Necessario
conversation_id
Necessario
activity_id
Necessario
activity
Necessario

handle_send_conversation_history

async handle_send_conversation_history(auth_header, conversation_id, transcript: Transcript) -> ResourceResponse

Parametri

Nome Descrizione
auth_header
Necessario
conversation_id
Necessario
transcript
Necessario

handle_send_to_conversation

async handle_send_to_conversation(auth_header, conversation_id, activity) -> ResourceResponse

Parametri

Nome Descrizione
auth_header
Necessario
conversation_id
Necessario
activity
Necessario

handle_update_activity

async handle_update_activity(auth_header, conversation_id, activity_id, activity) -> ResourceResponse

Parametri

Nome Descrizione
auth_header
Necessario
conversation_id
Necessario
activity_id
Necessario
activity
Necessario

handle_upload_attachment

async handle_upload_attachment(auth_header, conversation_id, attachment_upload: AttachmentData) -> ResourceResponse

Parametri

Nome Descrizione
auth_header
Necessario
conversation_id
Necessario
attachment_upload
Necessario

on_create_conversation

API create_conversation() per competenza

Creare una nuova conversazione.

POST a questo metodo con un

  • Bot che crea la conversazione
  • IsGroup impostato su true se non è un messaggio diretto (il valore predefinito è false)
  • Matrice contenente i membri da includere nella conversazione

Il valore restituito è resourceResponse che contiene un ID conversazione adatto per l'uso nei payload del messaggio e negli URI dell'API REST.

La maggior parte dei canali supporta solo la semantica dei bot che avviano una conversazione diretta dei messaggi. Un esempio di come eseguire questa operazione è:

var resource = await connector.conversations.CreateConversation(new ConversationParameters(){ Bot = bot, members = new ChannelAccount[] { new ChannelAccount("user1") } ); await connect. Conversations.SendToConversationAsync(resource. ID, new Activity() ... ) ;

fine.

async on_create_conversation(claims_identity: ClaimsIdentity, parameters: ConversationParameters) -> ConversationResourceResponse

Parametri

Nome Descrizione
claims_identity
Necessario
parameters
Necessario

on_delete_activity

API delete_activity() per competenza.

Eliminare un'attività esistente.

Alcuni canali consentono di eliminare un'attività esistente e, in caso di esito positivo, questo metodo rimuoverà l'attività specificata.

async on_delete_activity(claims_identity: ClaimsIdentity, conversation_id: str, activity_id: str)

Parametri

Nome Descrizione
claims_identity
Necessario
conversation_id
Necessario
activity_id
Necessario

on_delete_conversation_member

API delete_conversation_member() per competenza.

Elimina un membro da una conversazione.

Questa API REST accetta un Valore ConversationId e un memberId (di tipo string) e rimuove tale membro dalla conversazione. Se tale membro è l'ultimo membro della conversazione, verrà eliminata anche la conversazione.

async on_delete_conversation_member(claims_identity: ClaimsIdentity, conversation_id: str, member_id: str)

Parametri

Nome Descrizione
claims_identity
Necessario
conversation_id
Necessario
member_id
Necessario

on_get_activity_members

API get_activity_members() per competenza.

Enumerare i membri di un'attività.

Questa API REST accetta un ConversationId e un ActivityId, restituendo una matrice di oggetti ChannelAccount che rappresentano i membri della particolare attività nella conversazione.

async on_get_activity_members(claims_identity: ClaimsIdentity, conversation_id: str, activity_id: str) -> List[ChannelAccount]

Parametri

Nome Descrizione
claims_identity
Necessario
conversation_id
Necessario
activity_id
Necessario

on_get_conversation_member

API get_conversation_member() per competenza.

Enumerare i membri di una conversazione.

Questa API REST accetta un ConversationId e restituisce un elenco di oggetti ChannelAccount che rappresentano i membri della conversazione.

async on_get_conversation_member(claims_identity: ClaimsIdentity, conversation_id: str, member_id: str) -> ChannelAccount

Parametri

Nome Descrizione
claims_identity
Necessario
conversation_id
Necessario
member_id
Necessario

on_get_conversation_members

API get_conversation_members() per skill.

Enumerare i membri di una conversazione.

Questa API REST accetta un ConversationId e restituisce un elenco di oggetti ChannelAccount che rappresentano i membri della conversazione.

async on_get_conversation_members(claims_identity: ClaimsIdentity, conversation_id: str) -> List[ChannelAccount]

Parametri

Nome Descrizione
claims_identity
Necessario
conversation_id
Necessario

on_get_conversation_paged_members

API get_conversation_paged_members() per competenza.

Enumerare i membri di una conversazione una pagina alla volta.

Questa API REST accetta un ConversationId. Facoltativamente, è possibile specificare un page_size e/o un continuation_token. Restituisce un valore PagedMembersResult, che contiene una matrice di ChannelAccounts che rappresenta i membri della conversazione e un token di continuazione che può essere usato per ottenere più valori.

Ogni chiamata restituisce una pagina di record ChannelAccounts. Il numero di record in una pagina può variare tra canali e chiamate. Il parametro page_size può essere usato come suggerimento. Se non sono presenti risultati aggiuntivi, la risposta non conterrà un token di continuazione. Se nella conversazione non sono presenti membri, i membri saranno vuoti o non presenti nella risposta.

Una risposta a una richiesta con un token di continuazione da una richiesta precedente può restituire raramente membri da una richiesta precedente.

async on_get_conversation_paged_members(claims_identity: ClaimsIdentity, conversation_id: str, page_size: int = None, continuation_token: str = '') -> PagedMembersResult

Parametri

Nome Descrizione
claims_identity
Necessario
conversation_id
Necessario
page_size
Valore predefinito: None
continuation_token
Necessario

on_get_conversations

API get_conversations() per competenza

Elencare le conversazioni in cui ha partecipato il bot.

GET da questo metodo con un token skip

Il valore restituito è ConversationResult, che contiene una matrice di ConversationMembers e un token skip. Se il token skip non è vuoto, sono disponibili altri valori da restituire. Chiamare di nuovo questo metodo con il token restituito per ottenere altri valori.

Ogni oggetto ConversationMembers contiene l'ID della conversazione e una matrice di ChannelAccounts che descrivono i membri della conversazione.

async on_get_conversations(claims_identity: ClaimsIdentity, continuation_token: str = '') -> ConversationsResult

Parametri

Nome Descrizione
claims_identity
Necessario
conversation_id
Necessario
continuation_token
Necessario

on_reply_to_activity

API reply_to_activity() per competenza.

Questo metodo consente di rispondere a un'attività.

Questo è leggermente diverso da SendToConversation().

  • SendToConversation(conversationId): aggiungerà l'attività alla fine della conversazione in base al timestamp o alla semantica del canale.
  • ReplyToActivity(conversationId,ActivityId): aggiunge l'attività come risposta a un'altra attività, se il canale lo supporta. Se il canale non supporta le risposte annidate, ReplyToActivity esegue il fallback a SendToConversation.

Usare ReplyToActivity quando si risponde a un'attività specifica nella conversazione.

Usare SendToConversation in tutti gli altri casi.

async on_reply_to_activity(claims_identity: ClaimsIdentity, conversation_id: str, activity_id: str, activity: Activity) -> ResourceResponse

Parametri

Nome Descrizione
claims_identity
Necessario
conversation_id
Necessario
activity_id
Necessario
activity
Necessario

on_send_conversation_history

API send_conversation_history() per competenza.

Questo metodo consente di caricare le attività storiche nella conversazione.

Il mittente deve assicurarsi che le attività cronologiche abbiano ID univoci e timestamp appropriati. Gli ID vengono usati dal client per gestire le attività duplicate e i timestamp vengono usati dal client per eseguire il rendering delle attività nell'ordine corretto.

async on_send_conversation_history(claims_identity: ClaimsIdentity, conversation_id: str, transcript: Transcript) -> ResourceResponse

Parametri

Nome Descrizione
claims_identity
Necessario
conversation_id
Necessario
transcript
Necessario

on_send_to_conversation

API send_to_conversation() per competenza

Questo metodo consente di inviare un'attività alla fine di una conversazione.

Questo è leggermente diverso da ReplyToActivity().

  • SendToConversation(conversationId): aggiungerà l'attività alla fine della conversazione in base al timestamp o alla semantica del canale.
  • ReplyToActivity(conversationId,ActivityId): aggiunge l'attività come risposta a un'altra attività, se il canale lo supporta. Se il canale non supporta le risposte annidate, ReplyToActivity esegue il fallback a SendToConversation.

Usare ReplyToActivity quando si risponde a un'attività specifica nella conversazione.

Usare SendToConversation in tutti gli altri casi.

async on_send_to_conversation(claims_identity: ClaimsIdentity, conversation_id: str, activity: Activity) -> ResourceResponse

Parametri

Nome Descrizione
claims_identity
Necessario
conversation_id
Necessario
activity
Necessario

on_update_activity

API update_activity() per competenza.

Modificare un'attività esistente.

Alcuni canali consentono di modificare un'attività esistente per riflettere il nuovo stato di una conversazione bot.

Ad esempio, è possibile rimuovere i pulsanti dopo che un utente ha fatto clic sul pulsante "Approva".

async on_update_activity(claims_identity: ClaimsIdentity, conversation_id: str, activity_id: str, activity: Activity) -> ResourceResponse

Parametri

Nome Descrizione
claims_identity
Necessario
conversation_id
Necessario
activity_id
Necessario
activity
Necessario

on_upload_attachment

API upload_attachment() per skill.

Caricare un allegato direttamente nell'archivio BLOB di un canale.

Ciò è utile perché consente di archiviare i dati in un archivio conforme quando si gestiscono le aziende.

La risposta è un oggetto ResourceResponse che contiene un AttachmentId adatto per l'uso con l'API allegati.

async on_upload_attachment(claims_identity: ClaimsIdentity, conversation_id: str, attachment_upload: AttachmentData) -> ResourceResponse

Parametri

Nome Descrizione
claims_identity
Necessario
conversation_id
Necessario
attachment_upload
Necessario