如何在网络演示中发送顺序文本消息(对话框流程)?

时间:2019-09-09 04:15:20

标签: dialogflow

根据本文https://cloud.google.com/dialogflow/docs/intents-rich-messages,我们最多可以在UI中添加10个响应,然后依次发送给用户。

但是,在我的网络演示案例中,仅随机选择了一个响应。

链接到网络演示:https://bot.dialogflow.com/8195cb64-1104-46e5-8d43-b153828d7205

只要打个招呼就可以复制。以下是我的意图设置

My intent setup

更新:当我在右侧的测试控制台上测试完全相同时,它可以按预期工作。

enter image description here

1 个答案:

答案 0 :(得分:1)

您尚未正确阅读。 它说:“ 文本响应在所有平台上都可用。您的代理最多可以发送10条连续的文本消息以响应用户输入(假设意图中未定义其他消息类型)。要在UI,请按Shift + Enter。

1)您发送的响应是由Dialogflow随机选择的。

2)要解决您的查询,您的顺序响应将作为换行符发送,这意味着您必须输入Response变体1并按Shift + Enter进行换行并编写Variant 2,依此类推。 Screenshot for messages with line break. 注意:该消息将作为单个消息发送,在您称为变体的文本之间有换行符。

如果您要发送变体作为不同的顺序消息,则必须使用履行响应(https://cloud.google.com/dialogflow/docs/fulfillment-overview

您可以使用 agent.add(var fn = instance.method; fn(); // `this` will not be `instance` anymore Arrow functions allow you to avoid this issue. ); agent.add(There are other ways like stashing `var _this = this`, but that's error prone. Note: arrow class methods are different than regular class methods. Since they need to access instance variables, the typescript-generated function will not be on the prototype, but rather in the class constructor. Each instance will have a separate function instance, instead of all pointing to the same function instance. This might affect performance in hot code paths. ); agent.add(Message 1); ....尽可能多。