2016-09-29 8 views
3

私はボットプロジェクトに取り組んでいます。このような機能を実装するにはどうすればよいですか?ここでカード内のボタンをクリックすると、特定の添付ファイルを特定する方法はありますか?

enter image description here

私はその情報とするとき、私はそのホテルに関連する情報を提供する検索ホテルのショーの私のボタンをクリックしています関連のフライトを提供する検索フライトのショー・ミーボタンをクリックしてください。

私の現在の作業中のボットで、私は上記の図のように今すぐ予約ボタンをクリックしています。下の図のような選択された添付ファイルの情報がないJSON応答が表示されています。だから、

enter image description here

、どのように私は私のボットで同じことを行うことができますか?私は私のプロジェクトでは、コードの以下の行を記述していますそのために

enter code here 
    place=activity.text(with in the place i am passing the city name) 
       MessagesController.hotelsList = await  PropertyService.getHotelsList(place, DateTime.Now); 
      var hotellist = MessagesController.hotelsList; 
      Activity replyToConversation = message.CreateReply("Welcome to **Hotel Reservation Bot**." + "(Hi)"); 
      replyToConversation.Recipient = message.From; 
      replyToConversation.Type = "message"; 
      replyToConversation.Attachments = new List<Attachment>(); 

      foreach (var list in hotellist.SearchResults) 
      { 

       List<CardAction> cardButtons = new List<CardAction>(); 
       CardAction plButton = new CardAction() 
       { 
        Value ="Reserve Now", 
        Type = "imBack", 
        Title = "Reserve Now" 
       }; 
       cardButtons.Add(plButton); 
       ThumbnailCard plCard = new ThumbnailCard() 
       { 
        Title = i + "." + "Name:" + list.Property.CallingDisplayName, 
        Subtitle = "Location:" + list.Property.Location.City, 
        Images = cardImages, 
        Buttons = cardButtons 
       }; 
         Attachment plAttachment = plCard.ToAttachment(); 
         replyToConversation.Attachments.Add(plAttachment); 
         i++; 

      } 
      replyToConversation.AttachmentLayout = AttachmentLayoutTypes.Carousel; 
      await context.PostAsync(replyToConversation); 

答えて

0

あなたのコードを表示したい場合、それは最高のだろうが、一般的な考え方があり、そのボタンと何その上のテキスト実際にチャットに送信するボタンが異なっている必要があります:

var button = new CardAction() { 
    Title = "Show me", 
    Value = "Show restaurant #" + restaurantID, 
    Type = ActionTypes.imBack 
}; 

ユーザーがそれをクリックすると、彼らはチャットで"Show me"が表示されますが、実際にアプリケーションがActivity.Text"Show restaurant #35"を受け取ることになります。

+0

こんにちはk48上の質問でコードを追加しました – sateesh

+0

を入力してください。Value = "Reserve Now"を渡す必要がある実際の値に変更しますか?例えば。 ID。 – K48

+0

実際には、C#では、値はチャットに送信されている値です。 –

関連する問題