Botframework 是否有一个“;重置”;按钮是否可用于网络聊天?

Botframework 是否有一个“;重置”;按钮是否可用于网络聊天?,botframework,direct-line-botframework,web-chat,Botframework,Direct Line Botframework,Web Chat,开箱即用,网络聊天的默认按钮集是“发送”按钮和“上传文件”按钮。网络聊天是否有一个“重置”按钮,用于结束当前对话并从一开始为同一用户启动新对话?是否有一些配置或样式选项,我需要打开,以获得并直观地看到“重置”按钮 聊天/对话历史记录需要保持完整。天气不应该转晴 我目前正在使用JavaScript设置网络聊天,并使用直连频道与我的机器人对话。我使用botframework webchat样式选项进行了一些UI自定义。请注意,网络聊天不涉及iframe var directLineObj=win

开箱即用,网络聊天的默认按钮集是“发送”按钮和“上传文件”按钮。网络聊天是否有一个“重置”按钮,用于结束当前对话并从一开始为同一用户启动新对话?是否有一些配置或样式选项,我需要打开,以获得并直观地看到“重置”按钮

聊天/对话历史记录需要保持完整。天气不应该转晴

我目前正在使用JavaScript设置网络聊天,并使用直连频道与我的机器人对话。我使用botframework webchat样式选项进行了一些UI自定义。请注意,网络聊天不涉及iframe

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)