Microsoft bot 框架获取用户时区

Posted

技术标签:

【中文标题】Microsoft bot 框架获取用户时区【英文标题】:Microsoft bot framework getting the users time zone 【发布时间】:2017-02-22 01:06:38 【问题描述】:

当我的机器人需要在一天中的特定时间向用户发送消息时,我有一个用例。假设每天早上 6 点。

我正在使用预定的 azure Webjob 来发送这些消息。消息将在 Slack 和 Skype 客户端中传递。

但是我可能有不同时区的用户,这意味着我需要能够在用户(Slack 或 Skype)的时区早上 6 点发送消息。

如何在 bot 框架中找出最终用户的时区?

Activity.Timezone 是 UTC,我找不到任何其他代表客户端时区设置的方法/属性。

谢谢

【问题讨论】:

【参考方案1】:

大多数渠道不向 BotBuilder 提供该信息。但是,如果位置数据可用,它可能会在 ChannelData 字段中以频道的本机格式返回。

请记住,用户需要允许发送该数据。

这在 BotBuilder 存储库中讨论过几次:

Is there a way to identify timezone of the user? Skypebot: how to get sender timezone?

【讨论】:

谢谢 - 用户正在请求预定的消息 - 那是我希望我能获取他们的 TZ 信息的时候。我可能不得不让机器人向用户询问他们的 TZ。 你能举个例子看看你是怎么做的吗?我正在尝试做同样的事情

以上是关于Microsoft bot 框架获取用户时区的主要内容,如果未能解决你的问题,请参考以下文章

具有多个 BOT 集成的 Microsoft Chat BOT

Direct Line API Microsoft Bot 框架

如何将实时语音添加到 Microsoft bot 框架的文本数据(正是 google 语音所做的)

如何使用自适应卡操作从自适应卡获取用户响应。使用 Microsoft Bot Framework 从 MS Teams 频道提交操作?

Nodejs 和 microsoft bot 框架

Microsoft bot 框架 - Bot 频道注册。无法将录制的视频从 Skype 保存到 Azure 存储帐户