botframework - 如何清除 Bot Builder SDK for .NET 中的消息
问题描述
我想使用 Bot Builder SDK for .NET 清除以前的聊天消息。是否有任何选项可以清除 Bot Dialogue 的消息 C# 代码。
寻找一些选项来清除屏幕截图中的所有消息,方法是按一些“清除”按钮
解决方案
我想使用 Bot Builder SDK for .NET 清除以前的聊天消息。是否有任何选项可以清除 Bot Dialogue 的消息 C# 代码。
您将机器人配置为连接到网络聊天频道,消息可以从机器人发送到嵌入网络聊天控件的网站应用程序。正如我和@MarkB 在评论中提到的,要清除网站内网络聊天窗口中呈现的消息,您可以构建和使用自定义的网络聊天控件。我构建了一个自定义的网络聊天并实现了清除消息的功能,你可以参考它。
1)添加清除按钮,实现按钮点击事件清除消息功能Chat.tsx
{
!!state.format.chatTitle &&
<div className="wc-header">
<span>{ typeof state.format.chatTitle === 'string' ? state.format.chatTitle : state.format.strings.title }</span>
</div>
}
{
<button className="wc-clear" onClick={ () => this.onClickClear() }>
<span>Clear Messages</span>
</button>
}
实施onClickClear
:
/*remove messages*/
private onClickClear() {
/*alert("111");*/
Array.from(document.getElementsByClassName("wc-message-wrapper"))
.forEach(element => element.remove());
}
2) 指定清除按钮的样式botchat.scss
.wc-clear{
background-color:#0078d7;
box-shadow: 0 1px $c_shadow;
box-sizing: content-box;
color: $c01;
font-weight: 500;
height: $headerTotalHeight - $headerPaddingTop - $headerPaddingBottom;
/*left: 0;*/
letter-spacing: 0.5px;
padding: $headerPaddingTop $headerPaddingRight $headerPaddingBottom $headerPaddingLeft;
position: relative;
/*right: 0;
top: 0;*/
display: block;
float: right;
z-index: 1;
border: 0 !important;
}
3)构建我们自己的版本网络聊天并在网站上使用它
测试结果:
或者您可以使用反向通道机制将特定事件活动发送到您的网络聊天客户端,然后网络聊天客户端侦听该特定事件并'wc-message-wrapper'
通过通过 JavaScript 删除所有具有类的元素来清除以前的消息。
我们正在通过 ChatBot 提供一些 SQL 报告
如果您想在您的机器人应用程序中访问您的 SQL 数据库MessagesController
,Dialog
您可以使用和利用熟悉的 ORM 框架。此外,如果您想从托管在 Azure 上的机器人应用程序连接到本地数据库,可以参考这篇文章。
推荐阅读
- ios - 在单独的文件中或在一个文件中编写模型?
- affinetransform - 仿射变换会改变邻域吗
- google-chrome - 锚标记在 Firefox 上工作但在 Chrome 上不工作
- json - 使用 RestTemplate 映射 JSON 时忽略包装器类型
- python - 将分位数计算输出转换为数据帧
- codeigniter - 有什么办法可以在codeigniter中获得3份发票副本?
- java - Zulu Server JDK 和 Zulu Client JDK for Windows 之间有什么区别?
- c# - ASP.NET Core Web API Authentication allowing unauthorized access
- web-services - 如何在单个restfull webservice端点处理多个请求
- go - 在 nix 中使用 buildGoPackage 时出现“没有这样的文件或目录”错误