ChannelServiceHandler Klasa
Inicjuje nowe wystąpienie klasy przy użyciu dostawcy poświadczeń.
Konstruktor
ChannelServiceHandler(credential_provider: CredentialProvider, auth_config: AuthenticationConfiguration, channel_provider: ChannelProvider = None)
Parametry
| Nazwa | Opis |
|---|---|
|
credential_provider
Wymagane
|
|
|
auth_config
Wymagane
|
|
|
channel_provider
|
Domyślna wartość: None
|
Metody
| 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 |
interfejs API create_conversation() dla umiejętności Utwórz nową konwersację. Post do tej metody za pomocą metody
Wartość zwracana jest elementem ResourceResponse, który zawiera identyfikator konwersacji, który jest odpowiedni do użycia w ładunku komunikatu i uris interfejsu API REST. Większość kanałów obsługuje tylko semantyka botów inicjujących bezpośrednią konwersację z wiadomościami. Przykładem tego, jak to zrobić, jest: var resource = await connector.conversation.CreateConversation(new ConversationParameters(){ Bot = bot, members = new ChannelAccount[] { new ChannelAccount("user1") } ); await connect. Conversation.SendToConversationAsync(zasób. Id, new Activity() ... ) ; koniec. |
| on_delete_activity |
interfejs API delete_activity() dla umiejętności. Usuń istniejące działanie. Niektóre kanały umożliwiają usunięcie istniejącego działania, a jeśli ta metoda zakończy się pomyślnie, usunie określone działanie. |
| on_delete_conversation_member |
interfejs API delete_conversation_member() dla umiejętności. Usuwa członka z konwersacji. Ten interfejs API REST przyjmuje identyfikator ConversationId i identyfikator memberId (ciąg typu) i usuwa ten element członkowski z konwersacji. Jeśli ten członek był ostatnim członkiem konwersacji, konwersacja zostanie również usunięta. |
| on_get_activity_members |
interfejs API get_activity_members() dla umiejętności. Wyliczanie elementów członkowskich działania. Ten interfejs API REST przyjmuje identyfikator ConversationId i identyfikator ActivityId, zwracając tablicę obiektów ChannelAccount reprezentujących elementy członkowskie określonego działania w konwersacji. |
| on_get_conversation_member |
interfejs API get_conversation_member() dla umiejętności. Wyliczanie członków konwersacji. Ten interfejs API REST przyjmuje identyfikator ConversationId i zwraca listę obiektów ChannelAccount reprezentujących członków konwersacji. |
| on_get_conversation_members |
interfejs API get_conversation_members() dla umiejętności. Wyliczanie członków konwersacji. Ten interfejs API REST przyjmuje identyfikator ConversationId i zwraca listę obiektów ChannelAccount reprezentujących członków konwersacji. |
| on_get_conversation_paged_members |
interfejs API get_conversation_paged_members() dla umiejętności. Wyliczanie członków konwersacji po jednej stronie naraz. Ten interfejs API REST przyjmuje identyfikator ConversationId. Opcjonalnie można podać page_size i/lub continuation_token. Zwraca on element PagedMembersResult, który zawiera tablicę obiektów ChannelAccount reprezentujących członków konwersacji i token kontynuacji, który może służyć do uzyskiwania większej liczby wartości. Jedna strona rekordów ChannelAccounts jest zwracana z każdym wywołaniem. Liczba rekordów na stronie może się różnić w zależności od kanałów i wywołań. Parametr page_size może służyć jako sugestia. Jeśli nie ma dodatkowych wyników, odpowiedź nie będzie zawierać tokenu kontynuacji. Jeśli w konwersacji nie ma członków, członkowie będą pusti lub nie będą obecni w odpowiedzi. Odpowiedź na żądanie, które ma token kontynuacji z poprzedniego żądania, może rzadko zwracać członków z poprzedniego żądania. |
| on_get_conversations |
interfejs API get_conversations() dla umiejętności Wyświetl listę konwersacji, w których uczestniczył ten bot. GET z tej metody z tokenem pomijania Wartość zwracana jest elementem ConversationResult, który zawiera tablicę elementów ConversationMembers i token pomijania. Jeśli token pomijania nie jest pusty, zostaną zwrócone dalsze wartości. Wywołaj tę metodę ponownie przy użyciu zwróconego tokenu, aby uzyskać więcej wartości. Każdy obiekt ConversationMembers zawiera identyfikator konwersacji i tablicę channelAccounts opisujących członków konwersacji. |
| on_reply_to_activity |
interfejs API reply_to_activity() dla umiejętności. Ta metoda umożliwia odpowiadanie na działanie. Różni się to nieco od funkcji SendToConversation().
Użyj funkcji ReplyToActivity podczas odpowiadania na określone działanie w konwersacji. Użyj funkcji SendToConversation we wszystkich innych przypadkach. |
| on_send_conversation_history |
interfejs API send_conversation_history() dla umiejętności. Ta metoda umożliwia przekazywanie historycznych działań do konwersacji. Nadawca musi upewnić się, że działania historyczne mają unikatowe identyfikatory i odpowiednie znaczniki czasu. Identyfikatory są używane przez klienta do obsługi zduplikowanych działań, a znaczniki czasu są używane przez klienta do renderowania działań w odpowiedniej kolejności. |
| on_send_to_conversation |
interfejs API send_to_conversation() dla umiejętności Ta metoda umożliwia wysyłanie działania na koniec konwersacji. Jest to nieco inne niż ReplyToActivity().
Użyj funkcji ReplyToActivity podczas odpowiadania na określone działanie w konwersacji. Użyj funkcji SendToConversation we wszystkich innych przypadkach. |
| on_update_activity |
interfejs API update_activity() dla umiejętności. Edytuj istniejące działanie. Niektóre kanały umożliwiają edytowanie istniejącego działania w celu odzwierciedlenia nowego stanu konwersacji bota. Możesz na przykład usunąć przyciski po kliknięciu przycisku "Zatwierdź". |
| on_upload_attachment |
interfejs API upload_attachment() dla umiejętności. Przekaż załącznik bezpośrednio do magazynu obiektów blob kanału. Jest to przydatne, ponieważ umożliwia przechowywanie danych w zgodnym magazynie podczas pracy z przedsiębiorstwami. Odpowiedź jest elementem ResourceResponse, który zawiera identyfikator AttachmentId, który jest odpowiedni do użycia z interfejsem API załączników. |
handle_create_conversation
async handle_create_conversation(auth_header, parameters: ConversationParameters) -> ConversationResourceResponse
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
parameters
Wymagane
|
|
handle_delete_activity
async handle_delete_activity(auth_header, conversation_id, activity_id)
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
activity_id
Wymagane
|
|
handle_delete_conversation_member
async handle_delete_conversation_member(auth_header, conversation_id, member_id)
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
member_id
Wymagane
|
|
handle_get_activity_members
async handle_get_activity_members(auth_header, conversation_id, activity_id) -> List[ChannelAccount]
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
activity_id
Wymagane
|
|
handle_get_conversation_member
async handle_get_conversation_member(auth_header, conversation_id, member_id) -> ChannelAccount
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
member_id
Wymagane
|
|
handle_get_conversation_members
async handle_get_conversation_members(auth_header, conversation_id) -> List[ChannelAccount]
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
conversation_id
Wymagane
|
|
handle_get_conversation_paged_members
async handle_get_conversation_paged_members(auth_header, conversation_id, page_size: int = 0, continuation_token: str = '') -> PagedMembersResult
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
page_size
|
Domyślna wartość: 0
|
|
continuation_token
|
|
handle_get_conversations
async handle_get_conversations(auth_header, continuation_token: str = '') -> ConversationsResult
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
continuation_token
|
|
handle_reply_to_activity
async handle_reply_to_activity(auth_header, conversation_id, activity_id, activity) -> ResourceResponse
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
activity_id
Wymagane
|
|
|
activity
Wymagane
|
|
handle_send_conversation_history
async handle_send_conversation_history(auth_header, conversation_id, transcript: Transcript) -> ResourceResponse
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
transcript
Wymagane
|
|
handle_send_to_conversation
async handle_send_to_conversation(auth_header, conversation_id, activity) -> ResourceResponse
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
activity
Wymagane
|
|
handle_update_activity
async handle_update_activity(auth_header, conversation_id, activity_id, activity) -> ResourceResponse
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
activity_id
Wymagane
|
|
|
activity
Wymagane
|
|
handle_upload_attachment
async handle_upload_attachment(auth_header, conversation_id, attachment_upload: AttachmentData) -> ResourceResponse
Parametry
| Nazwa | Opis |
|---|---|
|
auth_header
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
attachment_upload
Wymagane
|
|
on_create_conversation
interfejs API create_conversation() dla umiejętności
Utwórz nową konwersację.
Post do tej metody za pomocą metody
- Bot jest botem tworzącym konwersację
- Właściwość IsGroup ma wartość true, jeśli nie jest to komunikat bezpośredni (wartość domyślna to false)
- Tablica zawierająca elementy członkowskie do uwzględnienia w konwersacji
Wartość zwracana jest elementem ResourceResponse, który zawiera identyfikator konwersacji, który jest odpowiedni do użycia w ładunku komunikatu i uris interfejsu API REST.
Większość kanałów obsługuje tylko semantyka botów inicjujących bezpośrednią konwersację z wiadomościami. Przykładem tego, jak to zrobić, jest:
var resource = await connector.conversation.CreateConversation(new ConversationParameters(){ Bot = bot, members = new ChannelAccount[] { new ChannelAccount("user1") } ); await connect. Conversation.SendToConversationAsync(zasób. Id, new Activity() ... ) ;
koniec.
async on_create_conversation(claims_identity: ClaimsIdentity, parameters: ConversationParameters) -> ConversationResourceResponse
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
parameters
Wymagane
|
|
on_delete_activity
interfejs API delete_activity() dla umiejętności.
Usuń istniejące działanie.
Niektóre kanały umożliwiają usunięcie istniejącego działania, a jeśli ta metoda zakończy się pomyślnie, usunie określone działanie.
async on_delete_activity(claims_identity: ClaimsIdentity, conversation_id: str, activity_id: str)
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
activity_id
Wymagane
|
|
on_delete_conversation_member
interfejs API delete_conversation_member() dla umiejętności.
Usuwa członka z konwersacji.
Ten interfejs API REST przyjmuje identyfikator ConversationId i identyfikator memberId (ciąg typu) i usuwa ten element członkowski z konwersacji. Jeśli ten członek był ostatnim członkiem konwersacji, konwersacja zostanie również usunięta.
async on_delete_conversation_member(claims_identity: ClaimsIdentity, conversation_id: str, member_id: str)
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
member_id
Wymagane
|
|
on_get_activity_members
interfejs API get_activity_members() dla umiejętności.
Wyliczanie elementów członkowskich działania.
Ten interfejs API REST przyjmuje identyfikator ConversationId i identyfikator ActivityId, zwracając tablicę obiektów ChannelAccount reprezentujących elementy członkowskie określonego działania w konwersacji.
async on_get_activity_members(claims_identity: ClaimsIdentity, conversation_id: str, activity_id: str) -> List[ChannelAccount]
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
activity_id
Wymagane
|
|
on_get_conversation_member
interfejs API get_conversation_member() dla umiejętności.
Wyliczanie członków konwersacji.
Ten interfejs API REST przyjmuje identyfikator ConversationId i zwraca listę obiektów ChannelAccount reprezentujących członków konwersacji.
async on_get_conversation_member(claims_identity: ClaimsIdentity, conversation_id: str, member_id: str) -> ChannelAccount
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
member_id
Wymagane
|
|
on_get_conversation_members
interfejs API get_conversation_members() dla umiejętności.
Wyliczanie członków konwersacji.
Ten interfejs API REST przyjmuje identyfikator ConversationId i zwraca listę obiektów ChannelAccount reprezentujących członków konwersacji.
async on_get_conversation_members(claims_identity: ClaimsIdentity, conversation_id: str) -> List[ChannelAccount]
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
conversation_id
Wymagane
|
|
on_get_conversation_paged_members
interfejs API get_conversation_paged_members() dla umiejętności.
Wyliczanie członków konwersacji po jednej stronie naraz.
Ten interfejs API REST przyjmuje identyfikator ConversationId. Opcjonalnie można podać page_size i/lub continuation_token. Zwraca on element PagedMembersResult, który zawiera tablicę obiektów ChannelAccount reprezentujących członków konwersacji i token kontynuacji, który może służyć do uzyskiwania większej liczby wartości.
Jedna strona rekordów ChannelAccounts jest zwracana z każdym wywołaniem. Liczba rekordów na stronie może się różnić w zależności od kanałów i wywołań. Parametr page_size może służyć jako sugestia. Jeśli nie ma dodatkowych wyników, odpowiedź nie będzie zawierać tokenu kontynuacji. Jeśli w konwersacji nie ma członków, członkowie będą pusti lub nie będą obecni w odpowiedzi.
Odpowiedź na żądanie, które ma token kontynuacji z poprzedniego żądania, może rzadko zwracać członków z poprzedniego żądania.
async on_get_conversation_paged_members(claims_identity: ClaimsIdentity, conversation_id: str, page_size: int = None, continuation_token: str = '') -> PagedMembersResult
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
page_size
|
Domyślna wartość: None
|
|
continuation_token
Wymagane
|
|
on_get_conversations
interfejs API get_conversations() dla umiejętności
Wyświetl listę konwersacji, w których uczestniczył ten bot.
GET z tej metody z tokenem pomijania
Wartość zwracana jest elementem ConversationResult, który zawiera tablicę elementów ConversationMembers i token pomijania. Jeśli token pomijania nie jest pusty, zostaną zwrócone dalsze wartości. Wywołaj tę metodę ponownie przy użyciu zwróconego tokenu, aby uzyskać więcej wartości.
Każdy obiekt ConversationMembers zawiera identyfikator konwersacji i tablicę channelAccounts opisujących członków konwersacji.
async on_get_conversations(claims_identity: ClaimsIdentity, continuation_token: str = '') -> ConversationsResult
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
continuation_token
Wymagane
|
|
on_reply_to_activity
interfejs API reply_to_activity() dla umiejętności.
Ta metoda umożliwia odpowiadanie na działanie.
Różni się to nieco od funkcji SendToConversation().
- SendToConversation(conversationId) — spowoduje dołączenie działania na końcu konwersacji zgodnie ze znacznikami czasu lub semantykami kanału.
- ReplyToActivity(conversationId,ActivityId) — dodaje działanie jako odpowiedź na inne działanie, jeśli kanał go obsługuje. Jeśli kanał nie obsługuje zagnieżdżonych odpowiedzi, funkcja ReplyToActivity powraca do funkcji SendToConversation.
Użyj funkcji ReplyToActivity podczas odpowiadania na określone działanie w konwersacji.
Użyj funkcji SendToConversation we wszystkich innych przypadkach.
async on_reply_to_activity(claims_identity: ClaimsIdentity, conversation_id: str, activity_id: str, activity: Activity) -> ResourceResponse
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
activity_id
Wymagane
|
|
|
activity
Wymagane
|
|
on_send_conversation_history
interfejs API send_conversation_history() dla umiejętności.
Ta metoda umożliwia przekazywanie historycznych działań do konwersacji.
Nadawca musi upewnić się, że działania historyczne mają unikatowe identyfikatory i odpowiednie znaczniki czasu. Identyfikatory są używane przez klienta do obsługi zduplikowanych działań, a znaczniki czasu są używane przez klienta do renderowania działań w odpowiedniej kolejności.
async on_send_conversation_history(claims_identity: ClaimsIdentity, conversation_id: str, transcript: Transcript) -> ResourceResponse
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
transcript
Wymagane
|
|
on_send_to_conversation
interfejs API send_to_conversation() dla umiejętności
Ta metoda umożliwia wysyłanie działania na koniec konwersacji.
Jest to nieco inne niż ReplyToActivity().
- SendToConversation(conversationId) — spowoduje dołączenie działania na końcu konwersacji zgodnie ze znacznikami czasu lub semantykami kanału.
- ReplyToActivity(conversationId,ActivityId) — dodaje działanie jako odpowiedź na inne działanie, jeśli kanał go obsługuje. Jeśli kanał nie obsługuje zagnieżdżonych odpowiedzi, funkcja ReplyToActivity powraca do funkcji SendToConversation.
Użyj funkcji ReplyToActivity podczas odpowiadania na określone działanie w konwersacji.
Użyj funkcji SendToConversation we wszystkich innych przypadkach.
async on_send_to_conversation(claims_identity: ClaimsIdentity, conversation_id: str, activity: Activity) -> ResourceResponse
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
activity
Wymagane
|
|
on_update_activity
interfejs API update_activity() dla umiejętności.
Edytuj istniejące działanie.
Niektóre kanały umożliwiają edytowanie istniejącego działania w celu odzwierciedlenia nowego stanu konwersacji bota.
Możesz na przykład usunąć przyciski po kliknięciu przycisku "Zatwierdź".
async on_update_activity(claims_identity: ClaimsIdentity, conversation_id: str, activity_id: str, activity: Activity) -> ResourceResponse
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
activity_id
Wymagane
|
|
|
activity
Wymagane
|
|
on_upload_attachment
interfejs API upload_attachment() dla umiejętności.
Przekaż załącznik bezpośrednio do magazynu obiektów blob kanału.
Jest to przydatne, ponieważ umożliwia przechowywanie danych w zgodnym magazynie podczas pracy z przedsiębiorstwami.
Odpowiedź jest elementem ResourceResponse, który zawiera identyfikator AttachmentId, który jest odpowiedni do użycia z interfejsem API załączników.
async on_upload_attachment(claims_identity: ClaimsIdentity, conversation_id: str, attachment_upload: AttachmentData) -> ResourceResponse
Parametry
| Nazwa | Opis |
|---|---|
|
claims_identity
Wymagane
|
|
|
conversation_id
Wymagane
|
|
|
attachment_upload
Wymagane
|
|