在 Google Chat 中回复快捷命令

本页介绍了如何为 Google Chat 应用设置和回应快捷命令。

快捷命令是用户调用和与 Chat 应用互动的方式。如需使用快捷命令,请在 Chat 聊天室或对话中点击“Google Workspace 工具”图标 打开集成菜单,然后选择名称不以斜线 (/) 开头的应用命令。通过选择快捷命令,系统会直接调用 Chat 应用,而无需用户进一步输入,从而实现快速的用户互动。

用户还可以通过斜杠命令调用 Chat 应用。与斜杠命令相比,快捷命令在 Chat 界面中的格式更人性化,用户选择快捷命令后,系统会立即调用该命令,而无需用户记住或输入斜杠命令的名称。

包含快捷命令的集成菜单
图 1:包含 Chat 应用快捷命令的集成菜单。

在 Google Chat API 中设置快捷命令

如需创建快捷命令或将任何现有斜杠命令更新为快捷命令,您必须在 Chat 应用的 Google Chat API 配置中指定相应命令的相关信息。

如需在 Google Chat API 中配置快捷命令,请完成以下步骤:

  1. 在 Google Cloud 控制台中,依次点击“菜单”图标 > API 和服务 > 已启用的 API 和服务 > Google Chat API

    前往“Google Chat API”页面

  2. 点击配置

  3. 高级设置下,前往触发器,然后检查 App command 字段是否包含触发器,例如 HTTP 端点或 Apps Script 函数。您必须在下一部分中使用此触发器来响应快捷命令。

  4. 命令下,点击添加命令

  5. 为该命令输入命令 ID、名称、说明和命令类型:

    • 命令 ID:一个介于 1 到 1000 之间的数字,用于指示 Chat 应用识别命令并返回响应。
    • 名称:命令的显示名称。名称最多可包含 50 个字符,并且可以包含特殊字符。
      • 使用简短、具描述性且切实可行的字词或短语,让用户清楚地了解命令。例如,对于用于修改联系人记录的命令,请使用更新联系人
    • 说明:用于说明命令用途的文本。说明最多可包含 50 个字符,并且可以包含特殊字符。
      • 说明应简洁明了,以便用户知道在调用该命令时会出现什么情况。
      • 让用户知道 Chat 应用是回复聊天室中的所有人,还是私下回复发出该命令的用户。例如,对于快捷命令简介,您可以将其描述为了解此应用(仅对您可见)
    • 命令类型:选择快速命令
  6. 可选:如果您希望 Chat 应用使用对话框响应该命令,请选中打开对话框复选框。

  7. 点击保存

现在,Chat 应用的快捷命令已配置完毕。

响应快速命令

当用户调用快捷命令时,您的 Chat 应用会收到一个包含快捷命令相关信息的事件对象。事件对象包含一个 AppCommand 载荷,其中包含有关调用的命令的详细信息(包括命令 ID),以便您返回适当的响应。

如需响应快捷命令,您必须实现应用命令触发器,以便 Chat 应用能够处理包含应用命令元数据的任何事件对象

以下代码展示了一个 Chat 应用的示例,该应用会回复 Help 命令。为了响应快捷命令,Chat 应用会处理来自应用命令触发器的事件对象。当事件对象的载荷包含快捷命令 ID 时,Chat 应用会返回包含 createMessageAction 对象的操作 DataActions

// The ID of the slash command "/about".
// It's not enabled by default, set to the actual ID to enable it. You must
// use the same ID as set in the Google Chat API configuration.
const HELP_COMMAND_ID = 0;

/**
 * Responds to an APP_COMMAND event in Google Chat.
 *
 * @param {Object} event the event object from Google Chat
 */
function onAppCommand(event) {

    // Stores the Google Chat app command metadata as a variable.
    const appCommandMetadata = event.chat.appCommandPayload.appCommandMetadata;

    if (appCommandMetadata.appCommandType == "QUICK_COMMAND") {

        // Executes the quick command logic based on its ID.
        // Quick command IDs are set in the Google Chat API configuration.
        switch (appCommandMetadata.appCommandId) {
            case HELP_COMMAND_ID:
                return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
                    text: 'The Avatar app replies to Google Chat messages.'
                }}}}};
        }
    }
}

如需使用此代码示例,请将 HELP_COMMAND_ID 替换为您在在 Chat API 中配置快捷命令时指定的命令 ID。如需在 Chat 中测试快捷命令,请点击“Google Workspace 工具”图标 打开集成菜单,然后选择您的快捷命令。