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

  7. 点击保存

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

响应快速命令

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

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

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

Apps 脚本

// 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 工具”图标 打开集成菜单,然后选择您的快捷命令。