2017-03-22 2 views
1

Ich habe einen Chat-Bot mit Microsoft Azure Bot Service und LUIS erstellt. Mit meinem Bot, der auf LUIS trainiert wurde, kann ich Textnachrichten empfangen. Ich habe den Bot mit dem Skype-Kanal verbunden.Senden Sie eine Bildanhang in Microsoft Azure Chatbot

Ich weiß nicht, wie man einen Bildanhang als Antwort auf eine Nachricht zurückgibt.

Ich habe gehört, einige der Microsoft Bot-Framework kann Bild als Anhang senden, und ich bin mir nicht sicher über Azure-Bot-Service.

Beispielcode:

var recognizer = new builder.LuisRecognizer(LuisModelUrl); 

var intents = new builder.IntentDialog({ recognizers: [recognizer] }) 
    .matches('**Greetings**', (session, args) => {session.send('**Hi! Welcome**');}); 

bot.dialog('/', intents); 

Mein Fall:

Ich möchte die unten URL Bild anhängen mit ‚Hallo! Willkommen 'Nachricht, wenn es mit meiner Absicht übereinstimmt' Grüße '.

contentURL: "https://img.clipartfest.com/13e01fd74f423c39c4af7dcc8a7b8455_animated-welcome-sign-animated-welcome-clip-art-images_1300-899.jpeg",

Content = "image/jpeg"

Ich weiß nicht, wie & und wo die oben Inhalt URL in meinem Code hinzufügen Bindung an die Nachricht zu senden.

Kann mir jemand dabei helfen?

Antwort

1

Danke RAS und mgbennet.

Es arbeitet mit folgendem Code:

.matches('Greetings', (session, args) => { 
      var reply = new builder.Message(); 
      reply.setText(session, "![Greetings](http://aka.ms/Fo983c)"); 
      session.send(reply); 
    }) 
0

Was ist mit so etwas?

var reply = 
    new builder.Message() 
     .setText(session, text) 
     .addAttachment({ fallbackText: "Hello!", contentType: 'image/jpeg', contentUrl: picture }); 
session.send(reply); 

mit Ihrem Beispiel es so etwas wie das sein wird:

var recognizer = new builder.LuisRecognizer(LuisModelUrl); 

var reply = 
new builder.Message() 
    .setText(session, "Hello!") 
    .addAttachment({ fallbackText: text, contentType: 'image/jpeg', contentUrl: "https://img.clipartfest.com/13e01fd74f423c39c4af7dcc8a7b8455_animated-welcome-sign-animated-welcome-clip-art-images_1300-899.jpeg"}); 

var intents = new builder.IntentDialog({ recognizers: [recognizer] }) 
.matches('Greetings', (session, args) => {session.send(reply);}); 
1

RAS ist richtig, obwohl seine Codefehler in ihm hat. Sie müssen die Antwortnachricht in der Funktion definieren, die Sie in der matches-Methode übergeben, oder Sie erhalten einen ReferenceError, da die Sitzung nicht definiert ist. Verwenden Sie auch text() anstelle von setText(), die abgeschrieben wird.

var recognizer = new builder.LuisRecognizer(LuisModelUrl); 

var intents = new builder.IntentDialog({ recognizers: [recognizer] }) 
    .matches('**Greetings**', (session, args) => { 
     var reply = new builder.Message(session) 
      .text("Hello!") 
      .addAttachment({contentType: "image/jpeg", contentUrl: "https://img.clipartfest.com/13e01fd74f423c39c4af7dcc8a7b8455_animated-welcome-sign-animated-welcome-clip-art-images_1300-899.jpeg"}); 
    }); 

bot.dialog('/', intents); 

Eine weitere Möglichkeit, Bilder hinzuzufügen, ist mit Hero Cards oder Thumbnail Cards. Sie können Beispielverwendungen dieser in der Bot Framework Samples github sehen.