我正在研究Bot Technology,在我目前的Bot项目中,我实现了“基于时间,我的机器人向用户致敬,如早安,晚安和晚安”。
为此,我在 MessagesController.cs
中编写了以下代码行 var hour = todaydate.Hour;
string sessionOfDay = "";
if (hour >= 12 && hour <= 17)
{
sessionOfDay = "Afternoon";
}
else if (hour > 17 && hour <= 23)
{
sessionOfDay = "Evening";
}
else
{
sessionOfDay = "Morning";
}
以上代码在我的本地计算机上正常工作。但是当我将我的bot项目发布到azure web app时。之后,我的机器人根据服务器时间而不是当地时间向用户表示问候。
您能否告诉我如何解决上述问题?
-Pradeep
答案 0 :(得分:0)
一般情况下,除非您的用户与您分享他们的位置,否则您无法知道他们所在的时区。对于选择共享其位置的用户,您可以计算服务器时间之间的偏差(UTC(+0) )和用户的时区。
您可以考虑明确询问用户的位置并使用新的位置控件:https://github.com/Microsoft/BotBuilder-Location进行验证