ActivityHandler class

机器人的事件发出活动处理程序。 扩展 ActivityHandlerBase

扩展

注解

这提供了一个可扩展的类,用于以事件驱动的方式处理传入活动。 可以为每个事件类型注册一组任意处理程序。

若要为事件注册处理程序,请使用相应的 on 事件 方法。 如果为事件注册了多个处理程序,则它们将按照注册的顺序运行。

此对象在处理传入活动时发出一系列 事件 。 处理程序可以通过不调用延续函数来停止事件的传播。

事件类型 说明
转动 首先为每个活动发出。
特定于类型 在针对任何子类型发出事件之前,为特定活动类型发出。
子类型 根据活动内容为某些专用事件发出。
对话框 作为最终活动处理事件发出。

例如:

const bot = new ActivityHandler();

server.post('/api/messages', (req, res) => {
    adapter.processActivity(req, res, async (context) => {
        // Route to bot's activity logic.
        await bot.run(context);
    });
});

bot.onTurn(async (context, next) => {
        // Handle a "turn" event.
        await context.sendActivity(`${ context.activity.type } activity received.`);
        // Continue with further processing.
        await next();
    })
    .onMessage(async (context, next) => {
        // Handle a message activity.
        await context.sendActivity(`Echo: ${ context.activity.text }`);
        // Continue with further processing.
        await next();
    });

另请参阅

方法

onCommand(BotHandler)

命令 活动注册活动事件处理程序。

onCommandResult(BotHandler)

CommandResult 活动注册活动事件处理程序。

onConversationUpdate(BotHandler)

为每个传入 的会话更新活动发出的对话更新 事件注册活动事件处理程序。

onDialog(BotHandler)

对话 事件注册活动事件处理程序,作为传入活动的最后一个事件发出。

onEndOfConversation(BotHandler)

会话活动的结束 注册活动事件处理程序。

onEvent(BotHandler)

为事件注册事件的活动事件处理程序,为每个传入事件活动发出。

onInstallationUpdate(BotHandler)

installationupdate 活动注册活动事件处理程序。

onInstallationUpdateAdd(BotHandler)

installationupdate add 活动注册活动事件处理程序。

onInstallationUpdateRemove(BotHandler)

installationupdate remove 活动注册活动事件处理程序。

onMembersAdded(BotHandler)

成员添加 的事件注册活动事件处理程序,该事件针对包含添加到会话的成员的任何传入会话更新活动发出。

onMembersRemoved(BotHandler)

成员删除 事件注册活动处理程序,该事件针对包含从会话中删除的成员的任何传入会话更新活动发出。

onMessage(BotHandler)

消息 事件注册活动事件处理程序,为每个传入消息活动发出。

onMessageReaction(BotHandler)

注册 消息反应 事件的活动事件处理程序,为每个传入消息反应活动发出。

onReactionsAdded(BotHandler)

添加的响应 事件注册活动事件处理程序,为描述添加到消息中的响应的任何传入消息反应活动发出。

onReactionsRemoved(BotHandler)

已删除的反应 事件注册一个活动事件处理程序,该事件针对描述从消息中删除的响应的任何传入消息反应活动发出。

onTokenResponseEvent(BotHandler)

为任何传入tokens/response事件活动发出的 tokens-response 事件注册活动事件处理程序。 这些是作为 OAuth 身份验证流的一部分生成的。

onTurn(BotHandler)

轮次 事件注册一个活动事件处理程序,该处理程序针对每个传入活动发出,而不考虑类型。

onTyping(BotHandler)

键入 活动注册活动事件处理程序。

onUnrecognizedActivityType(BotHandler)

无法识别的活动类型 事件注册活动事件处理程序,该事件为具有 ActivityHandler 未提供事件处理程序的类型的传入活动发出。

run(TurnContext)

调用以启动事件发出过程。

方法详细信息

onCommand(BotHandler)

命令 活动注册活动事件处理程序。

function onCommand(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

若要处理 Command 事件,请使用 onCommand 类型特定的事件处理程序。

onCommandResult(BotHandler)

CommandResult 活动注册活动事件处理程序。

function onCommandResult(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

若要处理 CommandResult 事件,请使用 onCommandResult 类型特定的事件处理程序。

onConversationUpdate(BotHandler)

为每个传入 的会话更新活动发出的对话更新 事件注册活动事件处理程序。

function onConversationUpdate(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

对话更新活动描述对对话元数据的更改,例如标题、参与者或其他特定于频道的信息。

若要处理何时在会话中添加或删除成员,请使用 onMembersAddedonMembersRemoved 子类型事件处理程序。

onDialog(BotHandler)

对话 事件注册活动事件处理程序,作为传入活动的最后一个事件发出。

function onDialog(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

onEndOfConversation(BotHandler)

会话活动的结束 注册活动事件处理程序。

function onEndOfConversation(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

此活动通常从技能发送到技能调用方,指示该特定子对话的结束。

若要处理会话结束,请使用 特定于 onEndOfConversation 类型的事件处理程序。

onEvent(BotHandler)

为事件注册事件的活动事件处理程序,为每个传入事件活动发出。

function onEvent(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

事件活动将编程信息从客户端或通道传达给机器人。 事件活动的含义由活动的 name 属性定义,该属性在通道范围内有意义。 事件活动设计用来输送交互信息(例如,按钮单击)和非交互信息(例如,关于客户端自动更新嵌入的语音模型的通知)。

若要处理 tokens/response 事件事件,请使用 onTokenResponseEvent 子类型事件处理程序。 若要处理其他命名事件,请将逻辑添加到此处理程序。

onInstallationUpdate(BotHandler)

installationupdate 活动注册活动事件处理程序。

function onInstallationUpdate(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

若要处理 InstallationUpdate 事件,请使用 onInstallationUpdate 类型特定的事件处理程序。

onInstallationUpdateAdd(BotHandler)

installationupdate add 活动注册活动事件处理程序。

function onInstallationUpdateAdd(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。 若要处理 InstallationUpdateAdd 事件,请使用 onInstallationUpdateAdd 类型特定的事件处理程序。

onInstallationUpdateRemove(BotHandler)

installationupdate remove 活动注册活动事件处理程序。

function onInstallationUpdateRemove(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

若要处理 InstallationUpdateRemove 事件,请使用 onInstallationUpdateRemove 类型特定的事件处理程序。

onMembersAdded(BotHandler)

成员添加 的事件注册活动事件处理程序,该事件针对包含添加到会话的成员的任何传入会话更新活动发出。

function onMembersAdded(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

活动的 membersAdded 属性包含添加到会话的成员,其中可以包括机器人。

若要一般处理会话更新事件,请使用 onConversationUpdate 类型特定的事件处理程序。

onMembersRemoved(BotHandler)

成员删除 事件注册活动处理程序,该事件针对包含从会话中删除的成员的任何传入会话更新活动发出。

function onMembersRemoved(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

活动的 membersRemoved 属性包含从聊天中删除的成员,其中可以包括机器人。

若要一般处理会话更新事件,请使用 onConversationUpdate 类型特定的事件处理程序。

onMessage(BotHandler)

消息 事件注册活动事件处理程序,为每个传入消息活动发出。

function onMessage(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

消息活动表示要显示在对话界面中的内容,可以包含文本、语音、交互式卡片以及二进制或未知附件。 并非所有邮件活动都包含文本,活动的 text 属性可以是 nullundefined

onMessageReaction(BotHandler)

注册 消息反应 事件的活动事件处理程序,为每个传入消息反应活动发出。

function onMessageReaction(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

消息回应活动表示在聊天内的现有消息活动上进行社交互动。 原始活动由消息反应活动的 replyToId 属性引用。 from 属性表示响应源,例如对消息做出反应的用户。

若要处理在会话中的消息中添加或删除反应时,请使用 onReactionsAddedonReactionsRemoved 子类型事件处理程序。

onReactionsAdded(BotHandler)

添加的响应 事件注册活动事件处理程序,为描述添加到消息中的响应的任何传入消息反应活动发出。

function onReactionsAdded(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

活动的 reactionsAdded 属性包括已添加的一个或多个反应。

若要一般处理消息反应事件,请使用 onMessageReaction 特定于类型的事件处理程序。

onReactionsRemoved(BotHandler)

已删除的反应 事件注册一个活动事件处理程序,该事件针对描述从消息中删除的响应的任何传入消息反应活动发出。

function onReactionsRemoved(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

活动的 reactionsRemoved 属性包括一个或多个已删除的反应。

若要一般处理消息反应事件,请使用 onMessageReaction 特定于类型的事件处理程序。

onTokenResponseEvent(BotHandler)

为任何传入tokens/response事件活动发出的 tokens-response 事件注册活动事件处理程序。 这些是作为 OAuth 身份验证流的一部分生成的。

function onTokenResponseEvent(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

活动的 value 属性包含用户令牌。

如果机器人在对话中使用 OAuthPrompt 处理身份验证,则对话需要接收此活动才能完成身份验证流。

若要一般处理其他命名事件和事件,请使用 onEvent 类型特定的事件处理程序。

onTurn(BotHandler)

轮次 事件注册一个活动事件处理程序,该处理程序针对每个传入活动发出,而不考虑类型。

function onTurn(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

onTyping(BotHandler)

键入 活动注册活动事件处理程序。

function onTyping(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

若要处理 Typing 事件,请使用 onTyping 特定于类型的事件处理程序。

onUnrecognizedActivityType(BotHandler)

无法识别的活动类型 事件注册活动事件处理程序,该事件为具有 ActivityHandler 未提供事件处理程序的类型的传入活动发出。

function onUnrecognizedActivityType(handler: BotHandler): this

参数

handler
BotHandler

事件处理程序。

返回

this

ActivityHandler 对象的引用。

注解

ActivityHandler不会为 Bot Framework 活动架构中定义的所有活动类型定义事件。 此外,通道和自定义适配器可以创建类型不在架构中的 活动 。 当活动处理程序收到此类事件时,它会发出无法识别的活动类型事件。

活动的 type 属性包含活动类型。

run(TurnContext)

调用以启动事件发出过程。

function run(context: TurnContext): Promise<void>

参数

context
TurnContext

当前轮次的上下文对象。

返回

Promise<void>

注解

通常,你会提供此方法作为函数处理程序,适配器在接收的活动已由适配器预先处理并通过任何中间件路由后,调用该函数处理程序来执行机器人的逻辑。

例如:

 server.post('/api/messages', (req, res) => {
     adapter.processActivity(req, res, async (context) => {
         // Route to bot's activity logic.
         await bot.run(context);
     });
});

另请参阅