2017-09-28 5 views
1

Je travaillais sur la création d'un Bot, quand j'ai trouvé les classes qui vous aident à construire les cartes.Utilisation de classes de construction de cartes de Bot Framework pour Webhooks

J'ai également travaillé sur un webhook entrant, mais sur ce front, il semble que cela doit être fait via JSON?

J'ai essayé de mettre les paquets dans mon autre projet, mais je n'arrive pas à trouver un moyen d'envoyer la pièce jointe.

Est-il même possible, pour utiliser les classes de construction de cartes dans l'assembly Microsoft.Bot.Connector, ou existe-t-il d'autres outils que je ne connais pas?

Mon but est de créer des cartes dans le chat, en utilisant le webhook entrant.

Dans mon application, j'ai ajouté la bibliothèque Microsoft.Bot.Connector.

À l'heure actuelle, j'ai un script qui génère une chaîne JSON, à partir de divers paramètres, pour créer une carte. Il est ensuite envoyé à un « entrant webhook »

Quand vous faites dans mon bot, je peux créer des classes comme le HeroCard, ou ThumbnailCard et utilisez le .ToAttachment() pour l'envoyer comme réponse du bot, que je me sens est beaucoup plus polyvalent et convivial.

Je souhaite pouvoir utiliser la bibliothèque que j'utilise dans les bots, pour créer également les cartes pour le webhook entrant (ou un outil similaire).

Exemple de code: https://pastebin.com/9fHS5DWZ

namespace Namespace 
{ 
    public class Class() 
    { 
     public method() 
     { 
      List<CardImage> Images = new List<CardImage>(); 
      Images.Add(new CardImage(url: "http://dev.example.com/cat.png")); 
      List<CardAction> Buttons = new List<CardAction>(); 
      Buttons.Add(new CardAction() 
      { 
       Value = $"http://google.com", 
        Type = "openUrl", 
        Title = "Google" 
      }); 

      ThumbnailCard Card = new ThumbnailCard() 
      { 
       Title = "Another Card!", 
       Subtitle = "Another test card", 
       Text = "This is just like a hero card, but smaller picture.", 
       Images = Images, 
       Buttons = Buttons 
      }; 

      try 
      { 
       PostJsonAsync(MSTeamsCards.Config.WebHook, card.ConvertToJsonSomehow()) 
        .ContinueWith(x => 
        { 
         try 
         { 
          Console.Write(x.Result); 
         } 
         catch (Exception e) 
         { 
          Console.WriteLine(e.Message); 
         } 
        }); 
      } 
      catch (Exception e) 
      { 
       Console.WriteLine(e.Message); 
      } 
     } 
    } 
} 
+0

Pouvez-vous s'il vous plaît poster un exemple de code qui illustre ce que vous essayez de faire, et que se passe-t-il lorsque vous l'essayez? J'ai peur que votre question ne soit pas assez précise pour répondre. –

+0

Ive ajouté à ma question, j'espère que cela peut aider. – PeaceDealer

Répondre

1

@PeaceDealer, si je vous comprends bien, vous savez comment écrire un bot, et de créer des messages de bots avec des cartes. Mais vous ne faites pas cela, vous voulez envoyer le même type de cartes sur un webhook entrant?

Le seul format accepté sur un webhook entrant est le schéma de la carte Office 365 Connector. Vous pouvez trouver des exemples riches de cela dans le site Message Card Playground. Pour les autres formats de cartes, vous devez utiliser un bot bot réel ou un Custom Bot.