将Azure Bot服务与不可配置的聊天服务一起使用

时间:2019-01-30 10:14:37

标签: azure botframework azure-bot-service

当我在Slack中创建机器人时,可以使用Azure Bot Service上的通道配置从Slack接收事件/消息,并与处理各种功能的Web App Bot通信。

但是,当我在聊天服务中创建一个漫游器(但通道配置不支持该漫游器)(例如Discord)时,我需要在Web App Bot(例如Discord.Net)中设置一个客户端以与服务。

然后,尽管我猜想直线通道(REST API)将处理Web App Bot与Bot服务之间的通信,但是不确定是否正确。我的假设正确吗?

此外,对于这种情况,使用Bot Service是否有优势对我还不清楚,因为我可以将单个Web应用程序托管在Azure或其他位置,并使其与聊天服务进行通信。为什么我需要再添加一项服务来处理?

我想一个可能的优点是我可以通过Bot Service轻松访问各种功能(例如LUIS)。此外,该机器人还可以使用一个代码处理各种平台,例如Skype或Cortana。

但是我仍然不太了解这个话题。谁能给我建议和最佳做法?


以下是我目前的理解,但这可能是错误的。

enter image description here

1 个答案:

答案 0 :(得分:1)

不是最容易使用Directline API的方法,要使Bot Framework机器人与Discord一起工作将需要大量工作。但是Directline的目的是使您的机器人(Azure Bot服务/ Web App Bot)与Discord之间建立连接。要使用Directline API,您需要:

1)通过在Azure(Azure Bot Services)上注册您的机器人来获取您的直线机密

2)使用以上秘密创建您的直线对象(这是ABS和Discord之间的通信线)

3)使用您的直线对象将用户的活动发布到机器人,并监听机器人的活动

4)与对话无关的其他目的:您的直接对象将监视websocket的连接状态,并保持对话的令牌刷新

Directline-js repo具有良好的自述文件和代码示例,但请记住,该框架正在不断改进。在撰写本文时,有8个请求请求正在等待回购的审查。

AI Help Website于2018年7月(在v4发行之前)写了关于如何在C#中使用Directline API的预览

最后,Directline API的官方文档为here

关于将您的机器人与Discord连接起来,Discord API参考中包含有关如何获取授权令牌here的说明。