ChannelServiceHandler 类

  • java.lang.Object
    • com.microsoft.bot.builder.ChannelServiceHandler

public class ChannelServiceHandler

帮助实现 Bot Framework 协议的类。

构造函数摘要

构造函数 说明
ChannelServiceHandler(CredentialProvider credentialProvider, AuthenticationConfiguration authConfiguration, ChannelProvider channelProvider)

使用凭据提供程序初始化 ChannelServiceHandler 类的新实例。

方法摘要

修饰符和类型 方法和描述
protected ChannelProvider getChannelProvider()

获取实现 ChannelProvider 的通道提供程序。

java.util.concurrent.CompletableFuture<ConversationResourceResponse> handleCreateConversation(String authHeader, ConversationParameters parameters)

创建新的对话。

java.util.concurrent.CompletableFuture<java.lang.Void> handleDeleteActivity(String authHeader, String conversationId, String activityId)

删除现有活动。

java.util.concurrent.CompletableFuture<java.lang.Void> handleDeleteConversationMember(String authHeader, String conversationId, String memberId)

从对话中删除成员。

java.util.concurrent.CompletableFuture<java.util.List<ChannelAccount>> handleGetActivityMembers(String authHeader, String conversationId, String activityId)

枚举活动的成员。

java.util.concurrent.CompletableFuture<java.util.List<ChannelAccount>> handleGetConversationMembers(String authHeader, String conversationId)

枚举会话的成员。

java.util.concurrent.CompletableFuture<PagedMembersResult> handleGetConversationPagedMembers(String authHeader, String conversationId, Integer pageSize, String continuationToken)

枚举对话的成员一次一页。

java.util.concurrent.CompletableFuture<ConversationsResult> handleGetConversations(String authHeader, String conversationId, String continuationToken)

列出机器人参与的对话。

java.util.concurrent.CompletableFuture<ResourceResponse> handleReplyToActivity(String authHeader, String conversationId, String activityId, Activity activity)

向活动发送回复。

java.util.concurrent.CompletableFuture<ResourceResponse> handleSendConversationHistory(String authHeader, String conversationId, Transcript transcript)

上传对话的历史活动。

java.util.concurrent.CompletableFuture<ResourceResponse> handleSendToConversation(String authHeader, String conversationId, Activity activity)

将活动发送到会话的末尾。

java.util.concurrent.CompletableFuture<ResourceResponse> handleUpdateActivity(String authHeader, String conversationId, String activityId, Activity activity)

编辑以前发送的现有活动。

java.util.concurrent.CompletableFuture<ResourceResponse> handleUploadAttachment(String authHeader, String conversationId, AttachmentData attachmentUpload)

处理企业时,将数据存储在合规的存储中。

protected java.util.concurrent.CompletableFuture<ConversationResourceResponse> onCreateConversation(ClaimsIdentity claimsIdentity, ConversationParameters parameters)

创建Conversation() API。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onDeleteActivity(ClaimsIdentity claimsIdentity, String conversationId, String activityId)

删除活动() API。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onDeleteConversationMember(ClaimsIdentity claimsIdentity, String conversationId, String memberId)

删除技能成员() API对话。

protected java.util.concurrent.CompletableFuture<java.util.List<ChannelAccount>> onGetActivityMembers(ClaimsIdentity claimsIdentity, String conversationId, String activityId)

获取活动成员() API。

protected java.util.concurrent.CompletableFuture<java.util.List<ChannelAccount>> onGetConversationMembers(ClaimsIdentity claimsIdentity, String conversationId)

获取技能对话成员 API。

protected java.util.concurrent.CompletableFuture<PagedMembersResult> onGetConversationPagedMembers(ClaimsIdentity claimsIdentity, String conversationId, Integer pageSize, String continuationToken)

获取技能对话分页成员() API。

protected java.util.concurrent.CompletableFuture<ConversationsResult> onGetConversations(ClaimsIdentity claimsIdentity, String conversationId, String continuationToken)

获取技能对话() API。

protected java.util.concurrent.CompletableFuture<ResourceResponse> onReplyToActivity(ClaimsIdentity claimsIdentity, String conversationId, String activityId, Activity activity)

回复ToActivity() API 上。

protected java.util.concurrent.CompletableFuture<ResourceResponse> onSendConversationHistory(ClaimsIdentity claimsIdentity, String conversationId, Transcript transcript)

发送聊天历史记录() API for Skill。

protected java.util.concurrent.CompletableFuture<ResourceResponse> onSendToConversation(ClaimsIdentity claimsIdentity, String conversationId, Activity activity)

发送用于技能的ToConversation() API。

protected java.util.concurrent.CompletableFuture<ResourceResponse> onUpdateActivity(ClaimsIdentity claimsIdentity, String conversationId, String activityId, Activity activity)

更新活动() API 上。

protected java.util.concurrent.CompletableFuture<ResourceResponse> onUploadAttachment(ClaimsIdentity claimsIdentity, String conversationId, AttachmentData attachmentUpload)

上传Attachment() API。

方法继承自 java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

构造函数详细信息

ChannelServiceHandler

public ChannelServiceHandler(CredentialProvider credentialProvider, AuthenticationConfiguration authConfiguration, ChannelProvider channelProvider)

使用凭据提供程序初始化 ChannelServiceHandler 类的新实例。

参数:

credentialProvider - 凭据提供程序。
authConfiguration - 身份验证配置。
channelProvider - 通道提供程序。

方法详细信息

getChannelProvider

protected ChannelProvider getChannelProvider()

获取实现 ChannelProvider 的通道提供程序。

返回:

ChannelProvider 值作为 getChannelProvider()。

handleCreateConversation

public CompletableFuture handleCreateConversation(String authHeader, ConversationParameters parameters)

创建新的对话。

参数:

authHeader - 身份验证标头。
parameters - 要从中创建会话的参数。

返回:

一个代表异步作结果的 {@link CompletableFuture{TResult}}。

handleDeleteActivity

public CompletableFuture handleDeleteActivity(String authHeader, String conversationId, String activityId)

删除现有活动。

参数:

authHeader - 身份验证标头。
conversationId - 对话 ID。
activityId - 活动 ID。

返回:

表示异步作结果的 CompletableFuture

handleDeleteConversationMember

public CompletableFuture handleDeleteConversationMember(String authHeader, String conversationId, String memberId)

从对话中删除成员。

参数:

authHeader - 身份验证标头。
conversationId - 对话 ID。
memberId - 要从此对话中删除的成员的 ID。

返回:

表示异步作的 CompletableFuture

handleGetActivityMembers

public CompletableFuture> handleGetActivityMembers(String authHeader, String conversationId, String activityId)

枚举活动的成员。

参数:

authHeader - 身份验证标头。
conversationId - 对话 ID。
activityId - 活动 ID。

返回:

一个代表异步作结果的 {@link CompletableFuture{TResult}}。

handleGetConversationMembers

public CompletableFuture> handleGetConversationMembers(String authHeader, String conversationId)

枚举会话的成员。

参数:

authHeader - 身份验证标头。
conversationId - 对话 ID。

返回:

一个代表异步作结果的 {@link CompletableFuture{TResult}}。

handleGetConversationPagedMembers

public CompletableFuture handleGetConversationPagedMembers(String authHeader, String conversationId, Integer pageSize, String continuationToken)

枚举对话的成员一次一页。

参数:

authHeader - 身份验证标头。
conversationId - 对话 ID。
pageSize - 建议的页面大小。
continuationToken - 延续标记。

返回:

一个代表异步作结果的 {@link CompletableFuture{TResult}}。

handleGetConversations

public CompletableFuture handleGetConversations(String authHeader, String conversationId, String continuationToken)

列出机器人参与的对话。

参数:

authHeader - 身份验证标头。
conversationId - 对话 ID。
continuationToken - 跳过或继续标记。

返回:

一个代表异步作结果的 {@link CompletableFuture{TResult}}。

handleReplyToActivity

public CompletableFuture handleReplyToActivity(String authHeader, String conversationId, String activityId, Activity activity)

向活动发送回复。

参数:

authHeader - 身份验证标头。
conversationId - 对话 ID。
activityId - 答复的活动 ID。
activity - 要发送的活动。

返回:

一个代表异步作结果的 {@link CompletableFuture{TResult}}。

handleSendConversationHistory

public CompletableFuture handleSendConversationHistory(String authHeader, String conversationId, Transcript transcript)

上传对话的历史活动。

参数:

authHeader - 身份验证标头。
conversationId - 对话 ID。
transcript - 活动记录。

返回:

一个代表异步作结果的 {@link CompletableFuture{TResult}}。

handleSendToConversation

public CompletableFuture handleSendToConversation(String authHeader, String conversationId, Activity activity)

将活动发送到会话的末尾。

参数:

authHeader - 身份验证标头。
conversationId - 对话 ID。
activity - 要发送的活动。

返回:

一个代表异步作结果的 {@link CompletableFuture{TResult}}。

handleUpdateActivity

public CompletableFuture handleUpdateActivity(String authHeader, String conversationId, String activityId, Activity activity)

编辑以前发送的现有活动。

参数:

authHeader - 身份验证标头。
conversationId - 对话 ID。
activityId - 要更新的活动 ID。
activity - 替换活动。

返回:

一个代表异步作结果的 {@link CompletableFuture{TResult}}。

handleUploadAttachment

public CompletableFuture handleUploadAttachment(String authHeader, String conversationId, AttachmentData attachmentUpload)

处理企业时,将数据存储在合规的存储中。

参数:

authHeader - 身份验证标头。
conversationId - 对话 ID。
attachmentUpload - 附件数据。

返回:

一个代表异步作结果的 {@link CompletableFuture{TResult}}。

onCreateConversation

protected CompletableFuture onCreateConversation(ClaimsIdentity claimsIdentity, ConversationParameters parameters)

CreateConversation() API。 重写此方法以创建新的对话。 POST 到此方法时, * 机器人正在创建会话的机器人 * IsGroup 设置为 true(如果这不是直接消息(默认实例 false) * 数组,其中包含要在会话中包含的成员。返回值是一个 ResourceResponse,其中包含一个对话 D,该对话适用于消息有效负载和 REST API URI。 大多数通道仅支持启动直接消息会话的机器人的语义。 如何执行此作的示例包括:var resource = connector.getconversations()。CreateConversation(new ConversationParameters(){ Bot = bot, members = new ChannelAccount[] { new ChannelAccount(“user1”) } ; connect.getConversations()。OnSendToConversation(resource.getId(), new Activity() ... ;结束。

参数:

claimsIdentity - 机器人的 claimsIdentity 应具有 AudienceClaim、AppIdClaim 和 ServiceUrlClaim。
parameters - 要从中创建会话的参数。

返回:

对话资源响应的任务。

onDeleteActivity

protected CompletableFuture onDeleteActivity(ClaimsIdentity claimsIdentity, String conversationId, String activityId)

OnDeleteActivity() API。 重写此方法以删除现有活动。 某些通道允许删除现有活动,如果成功,此方法将删除指定的活动。

参数:

claimsIdentity - 机器人的 claimsIdentity 应具有 AudienceClaim、AppIdClaim 和 ServiceUrlClaim。
conversationId - 对话 D。
activityId - 要删除的 activityId。

返回:

资源响应的任务。

onDeleteConversationMember

protected CompletableFuture onDeleteConversationMember(ClaimsIdentity claimsIdentity, String conversationId, String memberId)

用于技能的 DeleteConversationMember() API。 重写此方法以从对话中删除成员。 此 REST API 采用 ConversationId 和 memberId(类型为 String),并从会话中删除该成员。 如果该成员是对话的最后一个成员,则对话也将被删除。

参数:

claimsIdentity - 机器人的 claimsIdentity 应具有 AudienceClaim、AppIdClaim 和 ServiceUrlClaim。
conversationId - 对话 D。
memberId - 要从此对话中删除的成员的 D。

返回:

任务。

onGetActivityMembers

protected CompletableFuture> onGetActivityMembers(ClaimsIdentity claimsIdentity, String conversationId, String activityId)

OnGetActivityMembers() API。 重写此方法以枚举活动的成员。 此 REST API 采用 ConversationId 和 ActivityId,返回一个 ChannelAccount 对象数组,表示会话中特定活动的成员。

参数:

claimsIdentity - 机器人的 claimsIdentity 应具有 AudienceClaim、AppIdClaim 和 ServiceUrlClaim。
conversationId - 对话 D。
activityId - 活动 D.

返回:

包含结果的任务。

onGetConversationMembers

protected CompletableFuture> onGetConversationMembers(ClaimsIdentity claimsIdentity, String conversationId)

用于技能的 GetConversationMembers() API。 重写此方法以枚举会话的成员。 此 REST API 采用 ConversationId 并返回一个 ChannelAccount 对象数组,表示会话的成员。

参数:

claimsIdentity - 机器人的 claimsIdentity 应具有 AudienceClaim、AppIdClaim 和 ServiceUrlClaim。
conversationId - 对话 D。

返回:

响应的任务。

onGetConversationPagedMembers

protected CompletableFuture onGetConversationPagedMembers(ClaimsIdentity claimsIdentity, String conversationId, Integer pageSize, String continuationToken)

GetConversationPagedMembers() 用于技能的 API。 重写此方法以枚举对话的成员一次一页。 此 REST API 采用 ConversationId。 可以选择提供 pageSize 和/或 continuationToken。 它返回一个 PagedMembersResult,其中包含一个 ChannelAccounts 数组,表示会话的成员和可用于获取更多值的延续标记。 每个调用都会返回 ChannelAccounts 记录的一页。 页面中的记录数可能因通道和调用而异。 pageSize 参数可用作建议。 如果没有其他结果,响应将不包含延续标记。 如果对话中没有成员,则成员在响应中为空或不存在。 对具有先前请求的延续令牌的请求的响应可能很少返回来自上一个请求的成员。

参数:

claimsIdentity - 机器人的 claimsIdentity 应具有 AudienceClaim、AppIdClaim 和 ServiceUrlClaim。
conversationId - 对话 D。
pageSize - 建议的页面大小。
continuationToken - 继续标记。

返回:

响应的任务。

onGetConversations

protected CompletableFuture onGetConversations(ClaimsIdentity claimsIdentity, String conversationId, String continuationToken)

OnGetConversations() 用于技能的 API。 重写此方法以列出此机器人参与的对话。 使用跳过标记从此方法获取 返回值为 ConversationsResult,其中包含 ConversationMembers 数组和跳过令牌。 如果跳过令牌不为空,则返回其他值。 使用返回的令牌再次调用此方法以获取更多值。 每个 ConversationMembers 对象都包含聊天的 D,以及描述聊天成员的 ChannelAccounts 数组。

参数:

claimsIdentity - 机器人的 claimsIdentity 应具有 AudienceClaim、AppIdClaim 和 ServiceUrlClaim。
conversationId - conversationId。
continuationToken - 跳过或继续标记。

返回:

ConversationsResult 的任务。

onReplyToActivity

protected CompletableFuture onReplyToActivity(ClaimsIdentity claimsIdentity, String conversationId, String activityId, Activity activity)

OnReplyToActivity() API。 重写此方法允许回复活动。 这与 SendToConversation()略有不同。 * SendToConversation(conversationId) - 将根据通道的时间戳或语义将活动追加到会话末尾。 * ReplyToActivity(conversationId,ActivityId) - 如果通道支持该活动,则将该活动添加为另一个活动的回复。 如果通道不支持嵌套回复,ReplyToActivity 会回退到 SendToConversation。 在答复对话中的特定活动时使用 ReplyToActivity。 在所有其他情况下使用 SendToConversation。

参数:

claimsIdentity - 机器人的 claimsIdentity 应具有 AudienceClaim、AppIdClaim 和 ServiceUrlClaim。
conversationId - 对话 D。
activityId - activityId 答复为 (OPTONAL)。
activity - 要发送的活动。

返回:

资源响应的任务。

onSendConversationHistory

protected CompletableFuture onSendConversationHistory(ClaimsIdentity claimsIdentity, String conversationId, Transcript transcript)

用于技能的 SendConversationHistory() API。 将此方法重写为此方法可让你将历史活动上传到对话。 发送方必须确保历史活动具有唯一 ID 和适当的时间戳。 客户端使用 ID 来处理重复活动,客户端使用时间戳以正确的顺序呈现活动。

参数:

claimsIdentity - 机器人的 claimsIdentity 应具有 AudienceClaim、AppIdClaim 和 ServiceUrlClaim。
conversationId - 对话 D。
transcript - 活动记录。

返回:

资源响应的任务。

onSendToConversation

protected CompletableFuture onSendToConversation(ClaimsIdentity claimsIdentity, String conversationId, Activity activity)

用于技能的 SendToConversation() API。 此方法允许将活动发送到会话的末尾。 这与 ReplyToActivity 略有不同。 * SendToConversation(conversationId) - 将根据通道的时间戳或语义将活动追加到会话末尾。 * ReplyToActivity(conversationId,ActivityId) - 如果通道支持该活动,则将该活动添加为另一个活动的回复。 如果通道不支持嵌套回复,ReplyToActivity 会回退到 SendToConversation。 在答复对话中的特定活动时使用 ReplyToActivity。 在所有其他情况下使用 SendToConversation。

参数:

claimsIdentity - 机器人的 claimsIdentity 应具有 AudienceClaim、AppIdClaim 和 ServiceUrlClaim。
conversationId - conversationId。
activity - 要发送的活动。

返回:

资源响应的任务。

onUpdateActivity

protected CompletableFuture onUpdateActivity(ClaimsIdentity claimsIdentity, String conversationId, String activityId, Activity activity)

OnUpdateActivity() API。 重写此方法以编辑以前发送的现有活动。 某些通道允许编辑现有活动以反映机器人聊天的新状态。 例如,在有人单击“批准”按钮后,可以删除按钮。

参数:

claimsIdentity - 机器人的 claimsIdentity 应具有 AudienceClaim、AppIdClaim 和 ServiceUrlClaim。
conversationId - 对话 D。
activityId - 要更新的 activityId。
activity - 替换活动。

返回:

资源响应的任务。

onUploadAttachment

protected CompletableFuture onUploadAttachment(ClaimsIdentity claimsIdentity, String conversationId, AttachmentData attachmentUpload)

UploadAttachment() API。 在处理企业时,重写此方法以在合规的存储中存储数据。 响应是一个 ResourceResponse,其中包含适用于附件 API 的 AttachmentId。

参数:

claimsIdentity - 机器人的 claimsIdentity 应具有 AudienceClaim、AppIdClaim 和 ServiceUrlClaim。
conversationId - 对话 D。
attachmentUpload - 附件数据。

返回:

包含结果的任务。

适用于