Dialogflow Messenger JavaScript

Dialogflow Messenger 提供 函数 来影响其行为。

renderCustomText

此函数会呈现一条简单的文本消息, 就像它来自代理一样简单文本响应 或由最终用户输入

参数:

  • string:短信
  • boolean:对于来自代理的消息,值为 true;对于最终用户发送的消息,则值为 false

退货:

  • void

例如:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.renderCustomText('Custom text', true);

renderCustomCard

此函数用于呈现自定义卡片 就像来自 Dialogflow fulfillment 一样。

参数:

  • payload:自定义载荷响应的列表,这些响应在 Fulfillment 部分。

退货:

  • void

例如:

const dfMessenger = document.querySelector('df-messenger');
const payload = [
  {
    "type": "info",
    "title": "Info item title",
    "subtitle": "Info item subtitle",
    "image": {
      "rawUrl": "https://example.com/images/logo.png"
    },
    "anchor": {
      "href": "https://example.com",
      "target": "_blank"
    }
  }
];
dfMessenger.renderCustomCard(payload);

sendQuery

此函数向 Dialogflow API 发送查询并等待响应。 这样可以有效地模拟最终用户输入 它通常提供给代理对话框 系统将像处理任何最终用户查询一样处理响应。

参数:

  • string:文本查询

退货:

  • Promise<void>:异步操作的返回值

例如:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.sendQuery('Describe shipping costs.');

sendRequest

此函数向 Dialogflow API 发送请求并等待响应。

参数:

  • string:请求类型,支持 query(另请参阅上文中的 sendQuery)和 event(请参见自定义事件
  • any:与请求类型对应的载荷,目前为两种受支持的请求类型的字符串

退货:

  • Promise<void>:异步操作的返回值

例如:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.sendRequest('query', 'Describe shipping costs.');

setQueryParameters

此函数为 Dialogflow API detectIntent 请求的 queryParams 字段设置默认值。 其他 Dialogflow Messenger 方法可以替换查询参数中的相应默认值。

参数:

  • object:JSON 数据。如需了解查询参数的架构,请参阅 QueryParameters

退货:

  • void

例如:

const dfMessenger = document.querySelector('df-messenger');
const queryParameters = {
  parameters: {
  timeZone: "America/New_York"
  }
};
dfMessenger.setQueryParameters(queryParameters);

setContext

此函数将 生成式个性化调整 向 Dialogflow 提供相关信息。 在会话的剩余时间内,系统会保留这些信息。

参数:

  • object:JSON 数据,请参阅生成式个性化文档

退货:

  • void

例如:

const dfMessenger = document.querySelector('df-messenger');
const metadata = {
  "subscription plan": "Business Premium Plus",
  "devices owned": [
    {
      model: "Google Pixel 7",
    },
    {
      model: "Google Pixel Tablet",
    },
  ],
};
dfMessenger.setContext(metadata);

clearStorage

此函数会清除代理对话框的永久性存储空间。还会清除 代理对话框的当前状态。

参数:

退货:

  • void

例如:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.clearStorage();

clearAuthentication

此函数会清除代理对话框的身份验证。

参数:

退货:

  • void

例如:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.clearAuthentication();

startNewSession

此函数会在代理对话框中启动新会话。它可以保留 或重置当前的消息记录。不会清除用户 身份验证。

参数:

名称 类型 说明
args object? 用于配置创建新会话的可选参数。
args.retainHistory boolean? 用于保留历史记录的可选标志。如果此政策设为 true,系统会保留历史记录,否则会被清除。

退货:

  • void

例如:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.startNewSession({ retainHistory: true });

openChat

此函数会打开聊天对话。对 df-messenger-chat-bubble 元素调用它 以打开聊天。如果聊天已经打开,则不执行任何操作。

参数:

退货:

  • void

例如,

const dfMessengerBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerBubble.openChat();

closeChat

此函数会关闭聊天。对 df-messenger-chat-bubble 元素调用它 关闭聊天。如果聊天已结束,不执行任何操作。

参数:

退货:

  • void

例如,

const dfMessengerBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerBubble.closeChat();

openMinChat

Dialogflow Messenger 最小化聊天

此函数会以最小化版本打开聊天窗口。在 df-messenger-chat-bubble 元素打开最小化的聊天对话。不执行任何操作(如果 聊天已最小化。

参数:

名称 类型 说明
args 对象? 用于配置最小化聊天的可选参数
args.anchor 字符串? 可选 anchor,用于配置打开最小化聊天的位置。与聊天气泡元素中的 anchor 属性逻辑相同。默认值为 left-top
args.showActorImages boolean? 用于显示演员图片的可选标志(如果已在 df-messenger-chat-bubble 元素中指定)。默认值为 false。

示例:

const dfMessengerChatBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerChatBubble.openMinChat({
  anchor: 'top-left'
});

closeMinChat

关闭最小化的聊天窗口。对 df-messenger-chat-bubble 元素调用它,以 关闭最小化的聊天窗口。如果聊天已结束,不执行任何操作。

示例:

const dfMessengerChatBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerChatBubble.closeMinChat();