将Azure Bot服务与非通道可配置的聊天服务配合使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Azure Bot服务与非通道可配置的聊天服务配合使用相关的知识,希望对你有一定的参考价值。
当我在Slack中创建机器人时,我可以使用Azure Bot服务上的通道配置来接收来自Slack的事件/消息,并与处理各种功能的Web App Bot进行通信。
但是,当我在通道配置中不支持的聊天服务中创建机器人时(例如,Discord),我需要在我的Web App Bot(例如,Discord.Net)中设置客户端以与服务进行通信。
然后,虽然我猜直接通道(REST API)将处理Web App Bot和Bot服务之间的通信,但我不确定它是否正确。我的假设是对的吗?
此外,我不清楚在这种情况下是否有使用Bot服务的优势,因为我可以在Azure或其他位置托管单个Web应用程序并让它与聊天服务进行通信。为什么我需要再添加一个服务来处理?
我想一个可能的优点是我可以通过Bot服务轻松访问各种功能(例如LUIS)。此外,机器人可以使用一个代码处理Skype或Cortana等各种平台。
但我仍然不明白这个话题。谁能给我一个建议和最佳实践?
以下是我目前的理解,虽然可能是错的。
Directline API并不是最容易使用的,并且使Bot Framework机器人与Discord一起工作将需要花费大量的工作。但Directline的目的是成为您的bot(Azure Bot服务/ Web App Bot)和Discord之间的连接。要使用Directline API,您将:
1)通过在Azure上注册您的bot(Azure Bot服务)获取您的直线保密
2)使用上述秘密创建您的直线对象(这是ABS和Discord之间的通信线路)
3)使用您的directline对象从用户POST活动到bot并监听机器人的活动
4)与会话无关的其他目的:您的directline对象将监视您的websockets的连接状态,并保持令牌刷新以进行对话
Directline-js repo有一个很好的自述文件和代码示例,但请记住,框架正在不断改进。在撰写本文时,有8个拉请求等待回购。
AI Help Website在2018年7月(v4发布之前)写了一篇关于如何在C#中使用Directline API的预览
最后,Directline API的官方文档是here
至于将您的机器人与Discord连接,Discord API参考有关如何获取授权令牌here的说明。
以上是关于将Azure Bot服务与非通道可配置的聊天服务配合使用的主要内容,如果未能解决你的问题,请参考以下文章
IIS 托管的 Azure Bot 通道注册 Microsoft Bot Framework sdk 聊天机器人不起作用
Azure Bot Service 的 Teams 通道的 IP 地址限制
是否有可能使用 Microsoft Azure Bot Services 创建 Java 聊天机器人?
使用Azure Bot Framework网络聊天无法单击电话号码