ActivityHandler class

ボットのイベント生成アクティビティ ハンドラー。 ActivityHandlerBase を拡張します

Extends

注釈

これにより、イベント ドリブンの方法で受信アクティビティを処理するための拡張可能なクラスが提供されます。 イベントの種類ごとに任意のハンドラー セットを登録できます。

イベントのハンドラーを登録するには、対応する on イベント メソッドを使用します。 1 つのイベントに複数のハンドラーが登録されている場合は、登録された順序で実行されます。

このオブジェクトは、受信アクティビティを処理する際に一連の イベント を出力します。 ハンドラーは、継続関数を呼び出さないと、イベントの伝達を停止できます。

イベントの種類 説明
回転 すべてのアクティビティに対して最初に出力されます。
型固有 任意のサブタイプのイベントを生成する前に、特定のアクティビティの種類に対して出力されます。
サブタイプ アクティビティの内容に基づいて、特定の特殊なイベントに対して出力されます。
Dialog 最終的なアクティビティ処理イベントとして出力されます。

例えば次が挙げられます。

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 オブジェクトへの参照。

注釈

会話更新アクティビティは、タイトル、参加者、その他のチャネル固有の情報など、会話のメタデータへの変更を記述します。

メンバーが会話に追加またはスレッドから削除されるタイミングを処理するには、 onMembersAdded および onMembersRemoved サブタイプ イベント ハンドラーを使用します。

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 プロパティは、 null または undefinedできます。

onMessageReaction(BotHandler)

すべての受信 メッセージリアクション アクティビティに対して出力されるメッセージリアクションイベントのアクティビティイベントハンドラを登録します。

function onMessageReaction(handler: BotHandler): this

パラメーター

handler
BotHandler

イベント ハンドラー。

返品

this

ActivityHandler オブジェクトへの参照。

注釈

メッセージ反応アクティビティは、会話内の既存のメッセージ アクティビティに対する社会的相互作用を表します。 元のアクティビティは、メッセージ リアクション アクティビティの replyToId プロパティによって参照されます。 from プロパティは、メッセージに反応したユーザーなど、リアクションのソースを表します。

会話内のメッセージに対してリアクションが追加または削除されるタイミングを処理するには、 onReactionsAdded および onReactionsRemoved サブタイプ イベント ハンドラーを使用します。

onReactionsAdded(BotHandler)

メッセージに追加されたリアクションを記述する受信メッセージ のリアクション アクティビティに対して生成される、追加されたイベントのアクティビティ イベント ハンドラーを登録します。

function onReactionsAdded(handler: BotHandler): this

パラメーター

handler
BotHandler

イベント ハンドラー。

返品

this

ActivityHandler オブジェクトへの参照。

注釈

アクティビティの reactionsAdded プロパティには、追加された 1 つ以上のリアクションが含まれます。

メッセージの反応イベントを一般的に処理するには、 onMessageReaction 型固有のイベント ハンドラーを使用します。

onReactionsRemoved(BotHandler)

メッセージから 削除されたリアクション を記述する受信メッセージのリアクション アクティビティに対して生成される、削除されたリアクション イベントのアクティビティ イベント ハンドラーを登録します。

function onReactionsRemoved(handler: BotHandler): this

パラメーター

handler
BotHandler

イベント ハンドラー。

返品

this

ActivityHandler オブジェクトへの参照。

注釈

アクティビティの reactionsRemoved プロパティには、削除された 1 つ以上のリアクションが含まれます。

メッセージの反応イベントを一般的に処理するには、 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);
     });
});

関連項目