2016-11-25 4 views
1

コード付きのボタンがいくつかある製品でカルーセルを表示しています。カードアクションタイプは 'ImBack'ですが、postAsyncメソッドによってカルーセルが表示されると、ボタンをクリックすると再びルートダイアログが呼び出されます。カードアクションをクリックするときに特定のコールバックを呼び出す方法 - ボットフレームワーク

ボタンクリックのコールバックを定義する方法と、同じカルーセルを表示するがPromptDialogを使用する方法はありますか?

答えて

1

カードアクションボタンでコールバックを定義する方法はありません。カードアクションがImBackとして定義されているとき、それをクリックすると、それは基本的にボットにメッセージをポストするので、あなたがコンテキストに呼ばれたときに定義したメソッドによって処理されます。カルーセルをポストした後にしてください。

ここに行く方法は、あなたのコードをきれいに保つために、別の方法(あなたのMessageReceivedAsyncとは違う方法)があり、その方法でコンテキストを実行します。その方法では、基本的にボットが受け取るメッセージ(カードアクションの価値になります)に基づいて、何をすべきかを決定する必要があります。

ContosoFlowersサンプルには、この例があります。 ContosoFlowersCategoriesDialogおよびPagedCarouselDialogを参照してください。

+0

ありがとうございます!それはうまくいった。 MessageReceivedメソッドをオーバーライドして、必要なときにのみ呼び出すことができるかどうかはわかりませんでした。ありがとう! –

+0

あなたの場合、上書きする必要はありません。あなたが基本ダイアログを持っていない限り。メッセージを投稿するたびに、さまざまな方法で「待つ」ことができます。 –

関連する問題