ActivityHandler class

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

Extends

注釈

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

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

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

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

以下に例を示します。

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

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

注釈

では ActivityHandlerBot 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);
     });
});

参照