我正在使用NodeJS构建基于MS Bot框架的Bot。我想使用TypeScript + React构建客户端,但是,我希望用户登录后就能够发送消息。通过在线搜索,我发现我可以使用反向通道来做到这一点,如{{3}中所述}页面。
但是,我想在this
中所述的React应用程序中使用它我可以使React应用程序在我的应用程序中运行,但是我也需要集成反向通道。
我不明白为什么在每个样本中我们都使用不同的东西。例如,在React应用程序中,我们使用BotChat.Chat
..而在反向通道中,我们使用BotChat.App
..两者之间有什么区别?
此外,我将在我的React应用程序中使用backchannel,我需要声明BotChannel并将其传递给BotChat.App
,这在我们使用BotChat.Chat
的React中如何工作?
任何有关这些差异以及如何使用React实现反向通道的示例或清晰文档将不胜感激。
谢谢。
答案 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则细分了更多,以便于自定义。应用程序扩展了聊天。