将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等各种平台。

但我仍然不明白这个话题。谁能给我一个建议和最佳实践?


以下是我目前的理解,虽然可能是错的。

enter image description here

答案

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网络聊天无法单击电话号码

Microsoft bot 框架 - Bot 频道注册。无法将录制的视频从 Skype 保存到 Azure 存储帐户

在 Python Discord Bot 中按名称而不是 ID 向特定文本通道发送消息