我在 azure 中部署了一个 Web 应用程序,该应用程序在 Messenger Webview 中打开。我制作了一个空文本提示,供用户单击以便用户在关闭 Webview 时能够继续。然而,用户有时会忘记单击该按钮。我读过这个文档,但我无法做到这一点,因为我最好看实际的示例和代码。当用户关闭或按下 Web 视图中的按钮时,对话框如何自动继续?谢谢。Web 视图是一组问题,用户的答案保存在 Cosmos DB 中,当用户关闭 Web 视图时,机器人会访问他们在 Cosmos DB 中的分数并计算他们的分数。这是我当前的代码。private static async Task<DialogTurnResult> ThirdStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken = default(CancellationToken)){ Activity reply = stepContext.Context.Activity.CreateReply(); reply.ChannelData = JObject.FromObject( new { attachment = new { type = "template", payload = new { template_type = "generic", elements = new[] { new { title = "<title>", buttons = new object[] { new { type = "web_url", title = "<title>", url = webAppUrl, messenger_extensions="true", webview_height_ratio = "tall", }, new { type = "postback", title = "Done ✔️", payload = "Done ✔️", }, }, }, }, }, }, });
1 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
由于您甚至不知道您正在尝试创建哪种类型的 Web 应用程序,或者您正在使用什么语言编写 Web 应用程序,或者您计划如何托管 Web 应用程序,因此您的第一步就是弄清楚所有这些。如果您需要该过程的任何部分的帮助,那么您需要提出一个关于它的新的非常具体的问题,并包括您迄今为止尝试过的内容以及所有相关代码。
当您在 Facebook Web 视图中打开 Web 应用程序时,您需要确保 Web 应用程序具有向机器人发送活动所需的所有信息(我一直将其称为主动消息,但这些通常指的是机器人) -给用户的消息)。所需的凭据应该已内置到 Web 应用程序中,因此您需要发送到 Web 应用程序端点的唯一内容是用户 ID,以便 Web 应用程序可以在活动中传递它,并且机器人可以识别哪个对话该活动涉及。向机器人发送活动的传统方法是使用 Direct Line,但您可能会想出一种方法,只需向机器人的端点发送 HTTP 请求,甚至使用 Facebook 应用程序的回调 URL 即可。
完全没有必要让 LUIS 参与其中。仅当您不知道用户会说什么时,才应使用 LUIS 来解释来自用户的消息。每当您控制发送到机器人的消息时,使用 LUIS 就没有任何意义。请记住,有超过 15 种活动类型,并且您的活动不必是“消息”活动。您可以通过多种方式识别活动并在机器人中做出相应响应。我建议使用事件活动。
根据我对您的熟练程度的了解,您可能需要进行大量研究才能完成您想要完成的任务。
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报
0/150
提交
取消