Ja, Sie können erreichen, eine benutzerdefinierte Schaltfläche hinzuzufügen, die auf jedem Kanal von Bot-Framework funktioniert.
Es gibt zwei Ansätze, um das zu erreichen: 1) Verwenden Sie Karten-Funktion von Bot, um Schaltflächen zu erhalten. (Schnell und einfach) 2) Verwenden Sie direkten Line Channel und fügen Sie Ihre benutzerdefinierte Schaltfläche hinzu. (Complex)
Lets mit Ansatz 1
Sie müssen beginnen, eine Heldenkarte und rufen Sie es in Ihrem Dialog erstellen. Die Heldenkarte enthält deine Textantwort von der Bot- und Thumbnail-Bild-URL. (Sie können das Vorschaubild entfernen, wenn dies nicht erforderlich ist). Unten ist der laufende Code für Ihre Hilfe.
public async Task StartAsync(IDialogContext context)
{
context.Wait(ImgCardResponse);
}
private async Task ImgCardResponse(IDialogContext context, IAwaitable<IMessageActivity> argument)
{
var message = await argument;
//responseMsgOnly is used to pass bot reply message
//responseImage is used to pass thumbnail image
var attachment = BotButtonCard(responseMsgOnly, responseImage);
cardMsg.Attachments.Add(attachment);
await context.PostAsync(cardMsg);
}
private static Attachment BotButtonCard(string responseMsgOnly, string responseImage)
{
var heroCard = new HeroCard
{
Title = "Here we go with the response",
Subtitle = "Subtitle goes here",
Text = responseMsgOnly,
Images = new List<CardImage>
{
new CardImage(responseImage)
}
Buttons = new List<CardAction>
{
new CardAction(ActionTypes.OpenUrl, "Your Button Label", value: "https://www.google.com")
}
};
return heroCard.ToAttachment();
}
private async Task ResumeAfterAction(IDialogContext context, IAwaitable<object> result)
{
context.Done(new object());
}
Lets mit Ansatz 2
Die API Direct Line starten ist ein einfaches REST-API für direkt an einen einzelnen Bot verbindet. Diese API richtet sich an Entwickler, die ihre eigenen Client-Anwendungen, Web-Chat-Steuerelemente oder mobile Apps schreiben, die mit ihrem Bot kommunizieren. Das Direct Line v3.0 Nuget-Paket vereinfacht den Zugriff auf die zugrunde liegende REST-API.
Sie benötigen eine HTML-Seite und setzen Sie den Code unten
in Kopfteil
<link href="../botchat.css" rel="stylesheet"/>
<script src="../js/botchat.js"></script>
in Körperteil zu schaffen
<div id="bot"></div>
<script>
var FirstName;
var emailaddress;
var Environment;
try{
FirstName = _spPageContextInfo.userDisplayName;
emailaddress = "[email protected]";
Environment= _spPageContextInfo.webAbsoluteUrl ;
}
catch(ex)
{
spCOntext = 'You';
Environment = 'Local System';
}
BotChat.App({
directLine: { secret: 'Your direct line secret' },
user: { id: FirstName,Name: Environment},
name: spCOntext,
value: FirstName,
From: '',
bot: { id: 'Bot ID' },
resize: 'detect'
}, document.getElementById("bot"));
</script>
mich bei wissen lassen Sie Sie brauchen Hilfe
Verwenden Sie Formflow oder Dialoge? – blueprintChris