我正在为MS Teams开发一个机器人,希望了解用户的时区,以便在适当的时间(例如不在深夜)传递消息。
我没有在bot框架REST API中找到合适的东西。尽管我们收到的消息包括一个'clientInfo.country'属性,这是一个开始,但绝对不足以像我们希望的那样对消息计时。
答案 0 :(得分:1)
在发送给用户的每条消息上,都有一个entities[]
集合,其中之一是用户语言环境的详细信息。例如(从here复制/粘贴):
"entities": [
{
"locale": "en-US",
"country": "US",
"platform": "Windows",
"timezone": "America/Los_Angeles",
"type": "clientInfo"
}
],
答案 1 :(得分:1)
答案是:有一个localTimestamp
属性可用于获取时间偏移,这足以满足我的需求。
答案 2 :(得分:1)
答案是:有一个localTimestamp属性可用于获取时间偏移,这足以满足我的需求。
我们可以通过将"NOT Receive the timezone"
中的utcOffset
的{{1}}和localTimestamp
映射到country
来解决问题entities
。
我编写了一个JavaScript代码,以使用Teams消息中timezone
中的"Asia/shanghai"
和"localTimestamp": "2019-08-06T18:23:44.259+08:00"
来获取诸如"country": "CN"
之类的时区。
更多详细信息,请参见我的github readme.md。
Session