Botframework 是否有一个“;重置”;按钮是否可用于网络聊天?
开箱即用,网络聊天的默认按钮集是“发送”按钮和“上传文件”按钮。网络聊天是否有一个“重置”按钮,用于结束当前对话并从一开始为同一用户启动新对话?是否有一些配置或样式选项,我需要打开,以获得并直观地看到“重置”按钮 聊天/对话历史记录需要保持完整。天气不应该转晴 我目前正在使用JavaScript设置网络聊天,并使用直连频道与我的机器人对话。我使用botframework webchat样式选项进行了一些UI自定义。请注意,网络聊天不涉及iframeBotframework 是否有一个“;重置”;按钮是否可用于网络聊天?,botframework,direct-line-botframework,web-chat,Botframework,Direct Line Botframework,Web Chat,开箱即用,网络聊天的默认按钮集是“发送”按钮和“上传文件”按钮。网络聊天是否有一个“重置”按钮,用于结束当前对话并从一开始为同一用户启动新对话?是否有一些配置或样式选项,我需要打开,以获得并直观地看到“重置”按钮 聊天/对话历史记录需要保持完整。天气不应该转晴 我目前正在使用JavaScript设置网络聊天,并使用直连频道与我的机器人对话。我使用botframework webchat样式选项进行了一些UI自定义。请注意,网络聊天不涉及iframe var directLineObj=win
var directLineObj=window.WebChat.createDirectLine({
令牌:“…”
});
//有关其他样式选项:
// https://github.com/Microsoft/BotFramework-WebChat/blob/master/packages/component/src/Styles/defaultStyleOptions.js
常量样式选项={
...
};
变量选项={
directLine:directLineObj,
样式选项:样式选项
};
var containerObj=document.getElementById(“chatContainer”);
var webChatObj=window.WebChat.renderWebChat(选项,containerObj)代码>
您可以通过使用一个按钮(或您选择的实现)以及通过网络聊天发送一个活动,再加上示例的示例(下面的示例使用JS SDK,但在其他SDK中可用)
网络聊天:单击按钮时,网络聊天会发送Web\u聊天/发送活动
,其中包含文本“重置”
html,
身体{
身高:100%
}
身体{
保证金:0
}
#网络帽{
身高:100%;
宽度:100%s;
}
重置对话框
(异步函数(){
//"严格使用",;
const{ReactDOM:{render},WebChat:{ReactWebChat}}=window;
const store=window.WebChat.createStore({},({dispatch})=>next=>action=>{
返回下一步(操作);
} );
const res=等待取数('http://localhost:3500/directline/token“,{方法:'POST'});
让{token}=wait res.json();
待审(
,
document.getElementById('webchat')
);
document.querySelector(“#webchat>*”).focus();
const resetBtn=document.getElementById('resetBtn');
resetBtn.addEventListener('单击',(e)=>{
e、 预防默认值();
商店快件({
键入:“网络聊天/发送消息”,
有效载荷:{
文本:`重置`
}
} )
} )
})().catch(err=>console.error(err));
cancelAndHelpDialog.js:当bot接收到“重置”活动时,它会调用cancelAllDialogs(true)
清除堆栈并将bot返回到初始对话框
异步中断(innerDc){
if(innerDc.context&&innerDc.context.activity){
const{activity}=innerDc.context;
if(activity.text){
const text=activity.text;
const activityText=text.toLowerCase();
让消息=“”;
开关(活动文本){
案例“重置”:{
消息='请求已批准:重置对话框';
const resetMessage=MessageFactory.text(message,message,InputHints.IgnoringInput);
resetMessage.channelData={action:'dialog_reset'};
等待innerDc.context.sendActivity(resetMessage);
返回等待innerDc.cancelAllDialogs(true);
}
案例“帮助”:
案例“?”:{
消息='在此处显示帮助';
等待innerDc.context.sendActivity(message,message,InputHints.ExpectingInput);
返回{status:DialogTurnStatus.waiting};
}
“取消”案例:
“退出”案例:{
消息='取消…';
等待innerDc.context.sendActivity(message、message、InputHints.IgnoringInput);
返回等待innerDc.beginDialog(退出对话框);
}
}
}
}
}
这是非常简单的,可能需要一些“清理”来满足您的需要,包括一些显示对话框正在重新启动的响应
希望有帮助!您可以使用一个按钮(或您选择的实现)并通过网络聊天发送活动,再加上示例(下面的示例使用JS SDK,但在其他SDK中可用)
网络聊天:单击按钮时,网络聊天会发送Web\u聊天/发送活动
,其中包含文本“重置”
html,
身体{
身高:100%
}
身体{
保证金:0
}
#网络帽{
身高:100%;
宽度:100%s;
}
重置对话框
(异步函数(){
//"严格使用",;
const{ReactDOM:{render},WebChat:{ReactWebChat}}=window;
const store=window.WebChat.createStore({},({dispatch})=>next=>action=>{
返回下一步(操作);
} );
const res=等待取数('http://localhost:3500/directline/token“,{方法:'POST'});
让{token}=wait res.json();
待审(
,
document.getElementById('webchat')
);
document.querySelector(“#webchat>*”).focus();
const resetBtn=document.getElementById('resetBtn');
resetBtn.addEventListener('单击',(e)=>{
e、 预防默认值();
商店快件({
键入:“网络聊天/发送消息”,
有效载荷:{
文本:`重置`
}
} )
} )
})().catch(err=>console.error(err));
cancelAndHelpDialog.js:当bot接收到“重置”活动时,它会调用cancelAllDialogs(true)
清除堆栈并将bot返回到初始对话框
异步中断(i)