将Azure Bot服务与非通道可配置的聊天服务配合使用

问题描述 投票:0回答:1

当我在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

azure botframework azure-bot-service
1个回答
1
投票

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的说明。

© www.soinside.com 2019 - 2024. All rights reserved.