Microsoft/Botbuilder for NodeJS:将URL参数绑定到bot会话 SDK 主页: SDK平台:Node.js SDK版本:3.14.0 问题说明

Microsoft/Botbuilder for NodeJS:将URL参数绑定到bot会话 SDK 主页: SDK平台:Node.js SDK版本:3.14.0 问题说明,node.js,botframework,Node.js,Botframework,嗨,我已经找了很久了,但是我没有找到答案。 我想知道是否有办法将一些URL参数绑定到用户的Bot会话。 例如,如果对于特定的聊天对话框,我将端点URL设置为: http://localhost:3978/api/messages?pronuntiation=british 有没有办法在会话对象中获取名为“Prountation”的url参数,如 bot.dialog("/", function(session){ var desiredPronuntiation = session.s

嗨,我已经找了很久了,但是我没有找到答案。 我想知道是否有办法将一些URL参数绑定到用户的Bot会话。 例如,如果对于特定的聊天对话框,我将端点URL设置为:

http://localhost:3978/api/messages?pronuntiation=british
有没有办法在会话对象中获取名为“Prountation”的url参数,如

bot.dialog("/", function(session){
    var desiredPronuntiation = session.someUrlParameters.pronuntiation;
    if( desiredPronuntiation == "british"){
          ///blah
    }
});
我认为这在C#SDK中是可能的,但我试图在NodeJS中做到这一点

我已经调试了从
server.post('/api/messages',connector.listen())
ChatConnector.verifyBotFramework()
的进程,最后我发现它调用了
\u this.dispatch(req.body,res,next)(第149行的ChatbotConnector.js)只传递帖子正文,而不传递请求对象本身

所以乍一看,我认为这是不可能的,我只是想确保我没有错过任何东西。。。 谢谢
Luis

据我所知,Bot框架不支持这一点,但是我不明白为什么需要这样做。这是要存储在状态中的内容,例如
userData
。你可以阅读更多关于


如果要将用户数据传递给bot,则取决于通道。例如,Facebook和Webchat允许您将数据直接传递给机器人,而无需用户输入。

我认为BotBuilder框架不会公开此类数据。当用户第一次与bot交互时,只需询问其语言环境(发音),然后将响应保存在
会话.privateConversationData
中。对于用户的后续访问,请从
session.privateConversationData
获取区域设置信息。您还可以保存在会话中。用户数据等。。。本文档给出了一个示例,说明如何提示用户输入locale info=>您正在使用的频道?我正在使用WebChat。