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
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().
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().
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
|
|