私は別のダイアログから呼び出されるサブダイアログを作成しています。最初のメッセージとして、イメージと2つのボタンを含むメッセージを投稿する必要があります。MSボットフレームワークのIDialog.StartAsync()内からリッチコンテンツを投稿する方法
public async Task StartAsync(IDialogContext context)
{
//??? convert context to Activity?
//then it is trivial to add buttons, images or a HeroCard
await context.PostAsync(activity);
context.Done<TestDialog_Start>(this);
}
ただし、context.PostAsync()は文字列またはIMessageActivityオブジェクトのいずれかをとります。これは問題です。ダイアログの最初のメソッドはパラメータとしてIMessageActivityオブジェクトを受け取らないためです(次のメソッドとそれ以降のメソッドが行います)。
したがって、私はactivity.CreateReply()のようなものを使用できません。また、From、Recipient、Conversation、ServiceUrlなどのデータがないため、新しいActivityオブジェクトを作成できません。
ここからアクティビティオブジェクトを取得する方法や、IDialogの最初のメソッドでリッチコンテキストを投稿する方法があります。
ありがとうございました! –