使用反向通道与React Client - Bot框架

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

我正在使用NodeJS构建基于MS bot框架的bot。我想使用TypeScript + React构建客户端,但是,我希望能够在用户登录后发送消息。通过在线搜索,我想我能够使用backchannel执行此操作,如this页面中所述。

但是,我想在React应用程序中使用它,如here所述

我可以让React应用程序在我的应用程序中工作,但是我也需要集成反向通道。

我不明白为什么在每个样本中我们都使用不同的东西。例如,在React应用程序中,我们使用BotChat.Chat ..但在backchannel中,我们使用BotChat.App ..这两者之间有什么区别?

另外,我将在我的React应用程序中使用反向通道,我需要声明BotChannel并将其传递给BotChat.App,这将如何在我们使用BotChat.Chat的React中工作?

有关这些差异以及如何使用React实现反向通道的任何示例或明确文档将非常感激。

谢谢。

reactjs botframework
1个回答
1
投票

为了在稍后引用聊天,您可以初始化聊天div,如下所示:

<div>
   <Chat ref={(chat) => {this._chat = chat;}} directLine={{ secret: "<secret>" }} user={{ id: 'user_id', name: 'user_name' }} />
</div>

这里的重要部分是你包含一个ref的定义,如下所示:

ref={(chat) => {this._chat = chat;}}

在初始化之后,您可以稍后通过this._chat.botConnection访问botConnection并使.postActivity()调用如下:

this._chat.botConnection
    .postActivity({ type: "message", value: "hi", from: { id: "me" } })
    .subscribe(id => console.log("success"));

关于应用程序和聊天之间的区别,快速的方式是,应用程序是一个完整的模式,而聊天分解更多一点,以便于自定义。应用扩展聊天。

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