2016-05-04 13 views
5

Microsoft Bot Framework messages with buttons in Facebook Messengerzałączniki Microsoft Bot ramowe dla Facebook Messenger

Moje pytanie dotyczy kwestii związanej aboved. Piszę bota, używając node.js, który nie używa sdk budownika bota. Ręcznie zwracam zgodną odpowiedź dla usługi konektora ms bota. Działa to dobrze dla odpowiedzi tekstowej, ale chcę zwrócić bardziej skomplikowane odpowiedzi, np. Przyciski/karuzele, które możesz zwrócić z komunikatorem. Bazując na pytanie I połączone powyżej, domyśliłem format i dodaje się poniżej:

tytuł
response.attachments = [ { "Title": "Choose One: ", "Actions": [{ "Title": "Postback!", "Message": "Postback from button" }, { "Title": "Postback2!", "Message": "Postback2 from button" }] } ]; 

Górny poziom wydaje się zrobić nic, ale działania czynią jako typ postback przycisków poprawnie (oni wysłać wiadomość w treści ogłaszania). Za pomocą komunikatora możesz również zwrócić przyciski oparte na url i adresy URL obrazów.

O ile mogę powiedzieć, istnieje zerowa dokumentacja dotycząca zwracania załączników za pomocą narzędzia sdk węzła bota. Jeśli tak, to po prostu napiszę bota z SDK, aby uzyskać format odpowiedzi.

Moje pytanie brzmi, czy ktokolwiek wie, jak poprawnie zwracać zarówno przyciski odświeżania poczty, jak i adresy URL do usługi connnector bota, w tym obrazy towarzyszące, z lub bez programu sdk?

Aktualizacja 05/05/2016

Więc znalazłem link poniżej i widać definicję nieruchomości Załączniki:

http://docs.botframework.com/sdkreference/nodejs/interfaces/_botbuilder_d_.imessage.html

Jeśli zastosujemy ją do specyfikacji IAttachment , to zastanawia mnie, jak/dlaczego mój kod działa w ogóle? W teście tym formacie pisałem w następujących przypadkach:

var att = {}; 
    att.content = "I am content"; 
    att.contentType = "text/plain"; 
    att.contentUrl = "http://www.google.com"; 
    att.fallbackText = "I am fallback text"; 
    att.text = "I am text"; 
    att.thumbnailUrl = "https://pbs.twimg.com/profile_images/638751551457103872/KN-NzuRl.png"; 
    att.title ="I am title"; 
    att.titleLink = "http://yahoo.com"; 

Teraz w luzu mam dość ładne wyjście z tego: enter image description here

Jednak w posłańca dostaję „Błąd usługi: Wartość nie może być null. Nazwa parametru: źródło "

Odpowiedz

3

Znalazłem informacje, których potrzebowałem. Nie jestem pewien, czy nie został on opublikowany w tym czasie, czy też po prostu polowałem w dokumentacji budowniczego bota, ale wszystko to jest dość szczegółowe poniżej.

http://docs.botframework.com/connector/message-actions/#navtitle

Trzeba dostosować swoją wiadomość trochę dla niektórych integracji, na przykład Skype naprawdę nie wydają się potwierdzać załączników.

+0

Dla przyszłych czytelników, należy zauważyć, że ta odpowiedź dotyczy v1 struktury botów. W tej wersji złącze bota i konstruktor beczek były oddzielnymi komponentami. Link w odpowiedzi jest teraz przekierowaniem do bardziej odpowiedniej strony dotyczącej v3 struktury. – stevepkr84