DeepakKhare
DeepakKhare

Reputation: 1

Bot waterfall conversation with HeroCard button

Is it possible to include HeroCard attachment in WaterfallStepContext, i am able to call ITurnContext but not from WaterfallStepContext

Trying using C# code however .Activity is part of waterfallstep contenxt

var getFeedback = turnContext.Activity.CreateReply();
var feedbackChoices = new HeroCard
{
    Text = "Our conversation was helpful?",
    Buttons = new List<CardAction>
    {
                new CardAction() { Title = Constants.userResponseThumbsUp, Type = ActionTypes.ImBack, Value = Constants.userResponseYes},
                new CardAction() { Title = Constants.userResponseThumbsDown, Type = ActionTypes.ImBack, Value = Constants.userResponseNo},
            },
        };

        // Add the card to our reply to user.
        getFeedback.Attachments = new List<Attachment>() { feedbackChoices.ToAttachment() };

        await turnContext.SendActivityAsync(getFeedback, cancellationToken);

Upvotes: 0

Views: 166

Answers (1)

ranusharao
ranusharao

Reputation: 1854

Yes, it is possible to include a HeroCard attachment in WaterfallStepContext. Here is the implementation below:

private static async Task<DialogTurnResult> ShowCardStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
{
 var getFeedback = stepContext.Context.Activity.CreateReply();
        var feedbackChoices = new HeroCard
        {
            Text = "Our conversation was helpful?",
            Buttons = new List<CardAction>
            {
                new CardAction() { Title = Constants.userResponseThumbsUp, Type = ActionTypes.ImBack, Value = Constants.userResponseYes},
                new CardAction() { Title = Constants.userResponseThumbsDown, Type = ActionTypes.ImBack, Value = Constants.userResponseNo},
            },
        };

        // Add the card to our reply to user.
        getFeedback.Attachments = new List<Attachment>() { feedbackChoices.ToAttachment() };

        await stepContext.Context.SendActivityAsync(getFeedback, cancellationToken);

}

Hope this helps.

Upvotes: 1

Related Questions