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

时间:2018-09-02 13:07:45

标签: reactjs botframework

我正在使用NodeJS构建基于MS Bot框架的Bot。我想使用TypeScript + React构建客户端,但是,我希望用户登录后就能够发送消息。通过在线搜索,我发现我可以使用反向通道来做到这一点,如{{3}中所述}页面。

但是,我想在this

中所述的React应用程序中使用它

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

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

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

任何有关这些差异以及如何使用React实现反向通道的示例或清晰文档将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分: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"));

关于App和Chat之间的区别,最简单的说法是App是全模式的,而chat则细分了更多,以便于自定义。应用程序扩展了聊天。