botframework-connector
Version:
Bot Connector is autorest generated connector client.
373 lines • 18.8 kB
TypeScript
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
import * as Models from "../models";
import { ServiceCallback, RequestOptionsBase, RestResponse } from "@azure/core-http";
import { ConnectorClientContext } from "../connectorClientContext";
/** Class representing a Conversations. */
export declare class Conversations {
private readonly client;
/**
* Create a Conversations.
* @param {ConnectorClientContext} client Reference to the service client.
*/
constructor(client: ConnectorClientContext);
/**
* List the Conversations in which this bot has participated.
*
* GET from this method with a skip token
*
* The return value is a ConversationsResult, which contains an array of ConversationMembers and a
* skip token. If the skip token is not empty, then
* there are further values to be returned. Call this method again with the returned token to get
* more values.
*
* Each ConversationMembers object contains the ID of the conversation and an array of
* ChannelAccounts that describe the members of the conversation.
* @summary GetConversations
* @param [options] The optional parameters
* @returns Promise<Models.ConversationsGetConversationsResponse>
*/
getConversations(options?: Models.ConversationsGetConversationsOptionalParams): Promise<Models.ConversationsGetConversationsResponse>;
/**
* @param callback The callback
*/
getConversations(callback: ServiceCallback<Models.ConversationsResult>): void;
/**
* @param options The optional parameters
* @param callback The callback
*/
getConversations(options: Models.ConversationsGetConversationsOptionalParams, callback: ServiceCallback<Models.ConversationsResult>): void;
/**
* Create a new Conversation.
*
* POST to this method with a
* * Bot being the bot creating the conversation
* * IsGroup set to true if this is not a direct message (default is false)
* * Array containing the members to include in the conversation
*
* The return value is a ResourceResponse which contains a conversation id which is suitable for
* use
* in the message payload and REST API uris.
*
* Most channels only support the semantics of bots initiating a direct message conversation. An
* example of how to do that would be:
*
* ```
* const resource = await connector.conversations.createConversation({
* bot,
* members: [{ id: 'user1' }]
* });
* await connector.conversations.sendToConversation(resource.Id, ... );
* ```
* @summary CreateConversation
* @param parameters Parameters to create the conversation from
* @param [options] The optional parameters
* @returns Promise<Models.ConversationsCreateConversationResponse>
*/
createConversation(parameters: Models.ConversationParameters, options?: RequestOptionsBase): Promise<Models.ConversationsCreateConversationResponse>;
/**
* @param parameters Parameters to create the conversation from
* @param callback The callback
*/
createConversation(parameters: Models.ConversationParameters, callback: ServiceCallback<Models.ConversationResourceResponse>): void;
/**
* @param parameters Parameters to create the conversation from
* @param options The optional parameters
* @param callback The callback
*/
createConversation(parameters: Models.ConversationParameters, options: RequestOptionsBase, callback: ServiceCallback<Models.ConversationResourceResponse>): void;
/**
* This method allows you to send an activity to the end of a conversation.
*
* This is slightly different from ReplyToActivity().
* * SendToConversation(conversationId) - will append the activity to the end of the conversation
* according to the timestamp or semantics of the channel.
* * ReplyToActivity(conversationId,ActivityId) - adds the activity as a reply to another activity,
* if the channel supports it. If the channel does not support nested replies, ReplyToActivity
* falls back to SendToConversation.
*
* Use ReplyToActivity when replying to a specific activity in the conversation.
*
* Use SendToConversation in all other cases.
* @summary SendToConversation
* @param conversationId Conversation ID
* @param activity Activity to send
* @param [options] The optional parameters
* @returns Promise<Models.ConversationsSendToConversationResponse>
*/
sendToConversation(conversationId: string, activity: Partial<Models.Activity>, options?: RequestOptionsBase): Promise<Models.ConversationsSendToConversationResponse>;
/**
* @param conversationId Conversation ID
* @param activity Activity to send
* @param callback The callback
*/
sendToConversation(conversationId: string, activity: Partial<Models.Activity>, callback: ServiceCallback<Models.ResourceResponse>): void;
/**
* @param conversationId Conversation ID
* @param activity Activity to send
* @param options The optional parameters
* @param callback The callback
*/
sendToConversation(conversationId: string, activity: Partial<Models.Activity>, options: RequestOptionsBase, callback: ServiceCallback<Models.ResourceResponse>): void;
/**
* This method allows you to upload the historic activities to the conversation.
*
* Sender must ensure that the historic activities have unique ids and appropriate timestamps. The
* ids are used by the client to deal with duplicate activities and the timestamps are used by the
* client to render the activities in the right order.
* @summary SendConversationHistory
* @param conversationId Conversation ID
* @param history Historic activities
* @param [options] The optional parameters
* @returns Promise<Models.ConversationsSendConversationHistoryResponse>
*/
sendConversationHistory(conversationId: string, history: Models.Transcript, options?: RequestOptionsBase): Promise<Models.ConversationsSendConversationHistoryResponse>;
/**
* @param conversationId Conversation ID
* @param history Historic activities
* @param callback The callback
*/
sendConversationHistory(conversationId: string, history: Models.Transcript, callback: ServiceCallback<Models.ResourceResponse>): void;
/**
* @param conversationId Conversation ID
* @param history Historic activities
* @param options The optional parameters
* @param callback The callback
*/
sendConversationHistory(conversationId: string, history: Models.Transcript, options: RequestOptionsBase, callback: ServiceCallback<Models.ResourceResponse>): void;
/**
* Edit an existing activity.
*
* Some channels allow you to edit an existing activity to reflect the new state of a bot
* conversation.
*
* For example, you can remove buttons after someone has clicked "Approve" button.
* @summary UpdateActivity
* @param conversationId Conversation ID
* @param activityId activityId to update
* @param activity replacement Activity
* @param [options] The optional parameters
* @returns Promise<Models.ConversationsUpdateActivityResponse>
*/
updateActivity(conversationId: string, activityId: string, activity: Partial<Models.Activity>, options?: RequestOptionsBase): Promise<Models.ConversationsUpdateActivityResponse>;
/**
* @param conversationId Conversation ID
* @param activityId activityId to update
* @param activity replacement Activity
* @param callback The callback
*/
updateActivity(conversationId: string, activityId: string, activity: Partial<Models.Activity>, callback: ServiceCallback<Models.ResourceResponse>): void;
/**
* @param conversationId Conversation ID
* @param activityId activityId to update
* @param activity replacement Activity
* @param options The optional parameters
* @param callback The callback
*/
updateActivity(conversationId: string, activityId: string, activity: Partial<Models.Activity>, options: RequestOptionsBase, callback: ServiceCallback<Models.ResourceResponse>): void;
/**
* This method allows you to reply to an activity.
*
* This is slightly different from SendToConversation().
* * SendToConversation(conversationId) - will append the activity to the end of the conversation
* according to the timestamp or semantics of the channel.
* * ReplyToActivity(conversationId,ActivityId) - adds the activity as a reply to another activity,
* if the channel supports it. If the channel does not support nested replies, ReplyToActivity
* falls back to SendToConversation.
*
* Use ReplyToActivity when replying to a specific activity in the conversation.
*
* Use SendToConversation in all other cases.
* @summary ReplyToActivity
* @param conversationId Conversation ID
* @param activityId activityId the reply is to (OPTIONAL)
* @param activity Activity to send
* @param [options] The optional parameters
* @returns Promise<Models.ConversationsReplyToActivityResponse>
*/
replyToActivity(conversationId: string, activityId: string, activity: Partial<Models.Activity>, options?: RequestOptionsBase): Promise<Models.ConversationsReplyToActivityResponse>;
/**
* @param conversationId Conversation ID
* @param activityId activityId the reply is to (OPTIONAL)
* @param activity Activity to send
* @param callback The callback
*/
replyToActivity(conversationId: string, activityId: string, activity: Partial<Models.Activity>, callback: ServiceCallback<Models.ResourceResponse>): void;
/**
* @param conversationId Conversation ID
* @param activityId activityId the reply is to (OPTIONAL)
* @param activity Activity to send
* @param options The optional parameters
* @param callback The callback
*/
replyToActivity(conversationId: string, activityId: string, activity: Partial<Models.Activity>, options: RequestOptionsBase, callback: ServiceCallback<Models.ResourceResponse>): void;
/**
* Delete an existing activity.
*
* Some channels allow you to delete an existing activity, and if successful this method will
* remove the specified activity.
* @summary DeleteActivity
* @param conversationId Conversation ID
* @param activityId activityId to delete
* @param [options] The optional parameters
* @returns Promise<RestResponse>
*/
deleteActivity(conversationId: string, activityId: string, options?: RequestOptionsBase): Promise<RestResponse>;
/**
* @param conversationId Conversation ID
* @param activityId activityId to delete
* @param callback The callback
*/
deleteActivity(conversationId: string, activityId: string, callback: ServiceCallback<void>): void;
/**
* @param conversationId Conversation ID
* @param activityId activityId to delete
* @param options The optional parameters
* @param callback The callback
*/
deleteActivity(conversationId: string, activityId: string, options: RequestOptionsBase, callback: ServiceCallback<void>): void;
/**
* Enumerate the members of a conversation.
*
* This REST API takes a ConversationId and returns an array of ChannelAccount objects representing
* the members of the conversation.
* @summary GetConversationMembers
* @param conversationId Conversation ID
* @param [options] The optional parameters
* @returns Promise<Models.ConversationsGetConversationMembersResponse>
*/
getConversationMembers(conversationId: string, options?: RequestOptionsBase): Promise<Models.ConversationsGetConversationMembersResponse>;
/**
* @param conversationId Conversation ID
* @param callback The callback
*/
getConversationMembers(conversationId: string, callback: ServiceCallback<Models.ChannelAccount[]>): void;
/**
* @param conversationId Conversation ID
* @param options The optional parameters
* @param callback The callback
*/
getConversationMembers(conversationId: string, options: RequestOptionsBase, callback: ServiceCallback<Models.ChannelAccount[]>): void;
/**
* @param conversationId Conversation ID
* @param memberId MemberId for the user
* @param options The optional parameters
* @param callback The callback
*/
getConversationMember(conversationId: string, memberId: string, options?: RequestOptionsBase | ServiceCallback<Models.ChannelAccount[]>, callback?: ServiceCallback<Models.ChannelAccount[]>): Promise<Models.ConversationsGetConversationMemberResponse>;
/**
* Enumerate the members of a conversation one page at a time.
*
* This REST API takes a ConversationId. Optionally a pageSize and/or continuationToken can be
* provided. It returns a PagedMembersResult, which contains an array
* of ChannelAccounts representing the members of the conversation and a continuation token that
* can be used to get more values.
*
* One page of ChannelAccounts records are returned with each call. The number of records in a page
* may vary between channels and calls. The pageSize parameter can be used as
* a suggestion. If there are no additional results the response will not contain a continuation
* token. If there are no members in the conversation the Members will be empty or not present in
* the response.
*
* A response to a request that has a continuation token from a prior request may rarely return
* members from a previous request.
* @summary GetConversationPagedMembers
* @param conversationId Conversation ID
* @param [options] The optional parameters
* @returns Promise<Models.ConversationsGetConversationPagedMembersResponse>
*/
getConversationPagedMembers(conversationId: string, options?: Models.ConversationsGetConversationPagedMembersOptionalParams): Promise<Models.ConversationsGetConversationPagedMembersResponse>;
/**
* @param conversationId Conversation ID
* @param callback The callback
*/
getConversationPagedMembers(conversationId: string, callback: ServiceCallback<Models.PagedMembersResult>): void;
/**
* @param conversationId Conversation ID
* @param options The optional parameters
* @param callback The callback
*/
getConversationPagedMembers(conversationId: string, options: Models.ConversationsGetConversationPagedMembersOptionalParams, callback: ServiceCallback<Models.PagedMembersResult>): void;
/**
* Deletes a member from a conversation.
*
* This REST API takes a ConversationId and a memberId (of type string) and removes that member
* from the conversation. If that member was the last member
* of the conversation, the conversation will also be deleted.
* @summary DeleteConversationMember
* @param conversationId Conversation ID
* @param memberId ID of the member to delete from this conversation
* @param [options] The optional parameters
* @returns Promise<RestResponse>
*/
deleteConversationMember(conversationId: string, memberId: string, options?: RequestOptionsBase): Promise<RestResponse>;
/**
* @param conversationId Conversation ID
* @param memberId ID of the member to delete from this conversation
* @param callback The callback
*/
deleteConversationMember(conversationId: string, memberId: string, callback: ServiceCallback<void>): void;
/**
* @param conversationId Conversation ID
* @param memberId ID of the member to delete from this conversation
* @param options The optional parameters
* @param callback The callback
*/
deleteConversationMember(conversationId: string, memberId: string, options: RequestOptionsBase, callback: ServiceCallback<void>): void;
/**
* Enumerate the members of an activity.
*
* This REST API takes a ConversationId and a ActivityId, returning an array of ChannelAccount
* objects representing the members of the particular activity in the conversation.
* @summary GetActivityMembers
* @param conversationId Conversation ID
* @param activityId Activity ID
* @param [options] The optional parameters
* @returns Promise<Models.ConversationsGetActivityMembersResponse>
*/
getActivityMembers(conversationId: string, activityId: string, options?: RequestOptionsBase): Promise<Models.ConversationsGetActivityMembersResponse>;
/**
* @param conversationId Conversation ID
* @param activityId Activity ID
* @param callback The callback
*/
getActivityMembers(conversationId: string, activityId: string, callback: ServiceCallback<Models.ChannelAccount[]>): void;
/**
* @param conversationId Conversation ID
* @param activityId Activity ID
* @param options The optional parameters
* @param callback The callback
*/
getActivityMembers(conversationId: string, activityId: string, options: RequestOptionsBase, callback: ServiceCallback<Models.ChannelAccount[]>): void;
/**
* Upload an attachment directly into a channel's blob storage.
*
* This is useful because it allows you to store data in a compliant store when dealing with
* enterprises.
*
* The response is a ResourceResponse which contains an AttachmentId which is suitable for using
* with the attachments API.
* @summary UploadAttachment
* @param conversationId Conversation ID
* @param attachmentUpload Attachment data
* @param [options] The optional parameters
* @returns Promise<Models.ConversationsUploadAttachmentResponse>
*/
uploadAttachment(conversationId: string, attachmentUpload: Models.AttachmentData, options?: RequestOptionsBase): Promise<Models.ConversationsUploadAttachmentResponse>;
/**
* @param conversationId Conversation ID
* @param attachmentUpload Attachment data
* @param callback The callback
*/
uploadAttachment(conversationId: string, attachmentUpload: Models.AttachmentData, callback: ServiceCallback<Models.ResourceResponse>): void;
/**
* @param conversationId Conversation ID
* @param attachmentUpload Attachment data
* @param options The optional parameters
* @param callback The callback
*/
uploadAttachment(conversationId: string, attachmentUpload: Models.AttachmentData, options: RequestOptionsBase, callback: ServiceCallback<Models.ResourceResponse>): void;
}
//# sourceMappingURL=conversations.d.ts.map