Botframework Bot框架v4+;信使语言环境

Botframework Bot框架v4+;信使语言环境,botframework,facebook-messenger-bot,Botframework,Facebook Messenger Bot,我目前正在我的bot中实现本地化,我让它使用botframeworkv4在多个渠道上工作 在Skype和Teams频道中,区域设置通过ChannelData传递,但是在Facebook上,我看不到区域设置 如果我将Facebook设置中的语言更改为非英语,则仍不会传入区域设置 目前,我唯一能确定语言环境的方法是从用户的话语中自动检测语言 如何使区域设置与Facebook Messenger bot一起使用?Facebook Messenger在中不包含区域设置,因此channelData属性中不

我目前正在我的bot中实现本地化,我让它使用botframeworkv4在多个渠道上工作

在Skype和Teams频道中,区域设置通过ChannelData传递,但是在Facebook上,我看不到区域设置

如果我将Facebook设置中的语言更改为非英语,则仍不会传入区域设置

目前,我唯一能确定语言环境的方法是从用户的话语中自动检测语言


如何使区域设置与Facebook Messenger bot一起使用?

Facebook Messenger在中不包含
区域设置,因此
channelData
属性中不包含该区域设置。 您可以通过查询来接收用户的
locale
。请注意,要查询区域设置字段,您需要具有
pages\u user\u locale
权限


解决这个问题的一种方法是创建一个中间件,它可以为渠道为Facebook的每一条新消息提供服务。之后,将区域设置保存在userState中,并将其应用于传入消息,这样就不必更改bot代码。在您的中间件中,您可以构建一些逻辑来从状态检索语言环境,而不是在每个新消息上查询语言环境。

您使用的是C#还是Node.js?感谢您的验证。是的,我在中间件中添加了对用户配置文件API的调用,现在可以提取区域设置。多谢!