【发布时间】:2018-10-28 01:01:26
【问题描述】:
我使用 MS bot 框架创建了一个聊天机器人,最初我将发送一条欢迎消息,例如“早上好用户名”,但我的 bot 托管在 azure 中,我使用 DateTime.Now 来查找一天中的时间并提供问候消息因此。但是如果一些来自不同时区的用户使用“早上好”和“下午好”的消息是不合适的。
我该如何克服这个问题?
if (DateTime.Now.Hour < 12)
{
await context.PostAsync("Good Morning");
}
else if (DateTime.Now.Hour > 12 and DateTime.Now.Hour < 17)
{
await context.PostAsync("Good Afternoon");
}
else
{
await context.PostAsync("Good Evening");
}
【问题讨论】:
-
您可能需要使用 javascript 在客户端获取本地时间并将其传回您的服务器。
-
您能否提供一个示例来说明您如何处理消息和日期/时间逻辑?
-
@Matt webchat 只向我发送消息到我的机器人 API,而不是发送客户端时间
-
@AussieJoe If(DateTime.Now.Hour 12 and DateTime.Now.Hour
-
根据github.com/Microsoft/BotFramework-WebChat/blob/master/README.md,您必须创建一个BackChannel。这允许您将客户端信息传送到您的服务器并在您的网络聊天机器人中使用它
标签: c# .net botframework