Я пытаюсь выяснить, как заставить MS Bot Framework v4 работать с веб-представлением Facebook.В настоящее время во всем Интернете нет ничего о том, как заставить это работать.Есть несколько примеров, как этот , показывающих, как он может работать с BF v3.
Что я не могу понять, так это то, как это работает с HeroCard
s и CardAction
s в v4.
Из документации видно, что для этого типа функции потребуется ActionTypes
, включающий значение для web_url
, которое перечисление полностью пропускает.Предполагая, что эта функция не поддерживается в BF v4.
В настоящее время я портирую Bot Bot PHP на MS Bot Framework, хотя кажется, что это очень тривиально сделать в Botman простым вызовом enableExtensions()
на кнопке.element.
Я перепробовал слишком много подходов, чтобы перечислить здесь, но текущая попытка выглядит следующим образом:
var viewButton = new CardAction(
"web_url",
"View Details",
null,
"",
"",
"https://myurl",
JObject.FromObject(new { messenger_extensions = true }));
Я прошел все процессы внесения в белый список доменов, поэтому я уверенэто все готово к работе, однако, с моими текущими попытками на месте Messenger только ошибки, поскольку кажется, что Favebook не нравится JSON, который производит Bot Framework.
Я также пытался подклассифицировать класс CardAction
например:
public class WebViewCardAction : CardAction
{
public WebViewCardAction(string displayText, string url)
{
Type = "web_url";
Url = url;
Title = displayText;
MessengerExtensions = true;
WebviewHeightRatio = "compact";
}
[JsonProperty(PropertyName = "url")]
public string Url { get; set; }
[JsonProperty(PropertyName = "webview_height_ratio")]
public string WebviewHeightRatio { get; set; }
[JsonProperty(PropertyName = "messenger_extensions")]
public bool MessengerExtensions { get; set; }
}
, который при просмотре JSON в эмуляторе Bot Framework создает JSON, например:
{
"messenger_extensions": true,
"title": "View Details",
"type": "web_url",
"url": "https://myurl",
"webview_height_ratio": "compact"
}
, что, похоже, согласуется с тем, что я могу найти в примерахдля мессенджера FB.Но с этим на месте ошибки мессенджера FB, даже не отображая HeroCard
.
Кто-нибудь получил это работает?
Есть ли примеры в Интернете, чтобы посмотреть?