Trả lời các lệnh dấu gạch chéo trong ứng dụng Google Chat

Trang này giải thích cách thiết lập và phản hồi lệnh dấu gạch chéo cho Ứng dụng Google Chat.

Lệnh gạch chéo là một cách phổ biến mà người dùng gọi và tương tác với Ứng dụng Chat. Lệnh dấu gạch chéo cũng giúp người dùng khám phá và sử dụng các tính năng chính của ứng dụng Chat.

Để sử dụng lệnh dấu gạch chéo, người dùng nhập một dấu gạch chéo (/) rồi nhập một lệnh văn bản ngắn, chẳng hạn như /about để nhận thông tin về ứng dụng Chat. Người dùng có thể khám phá các lệnh dấu gạch chéo có sẵn bằng cách nhập dấu gạch chéo vào Google Chat: hiển thị một cửa sổ liệt kê các lệnh hiện có để Ứng dụng Chat:

Cửa sổ lệnh dấu gạch chéo
Hình 1: Cửa sổ xuất hiện khi người dùng nhập dấu gạch chéo vào Google Chat.

Để quyết định xem bạn có nên thiết lập lệnh dấu gạch chéo hay không và để biết cách thiết kế tương tác người dùng, xem Xác định tất cả hành trình của người dùng.

Lệnh dấu gạch chéo có phản hồi riêng tư

Khi người dùng gửi thông báo có chứa lệnh dấu gạch chéo, thông báo đó sẽ chỉ mà người dùng và ứng dụng Chat nhìn thấy. Nếu bạn đã thiết lập để ứng dụng Chat thêm vào không gian với nhiều người, bạn có thể cân nhắc phản hồi lệnh dấu gạch chéo tính riêng tư, để giữ sự tương tác riêng tư giữa người dùng và Ứng dụng Chat.

Ví dụ: để tìm hiểu về một ứng dụng Chat mà họ khám phá trong một không gian, người dùng có thể sử dụng các lệnh như /about hoặc /help. Để tránh thông báo cho những người khác trong không gian, Ứng dụng Chat có thể trả lời riêng tư cung cấp thông tin về cách dùng ứng dụng Chat và yêu cầu hỗ trợ.

Điều kiện tiên quyết

Node.js

Một ứng dụng Google Chat đã bật các tính năng tương tác. Để tạo một ứng dụng Chat tương tác bằng dịch vụ HTTP, hãy hoàn thành phần bắt đầu nhanh này.

Apps Script

Một ứng dụng Google Chat đã bật các tính năng tương tác. Để tạo một ứng dụng Chat tương tác trong Apps Script, hãy hoàn thành phần bắt đầu nhanh này.

Python

Một ứng dụng Google Chat đã bật các tính năng tương tác. Để tạo một ứng dụng Chat tương tác bằng dịch vụ HTTP, hãy hoàn thành phần bắt đầu nhanh này.

Thiết lập lệnh dấu gạch chéo

Phần này giải thích cách hoàn thành các bước sau để thiết lập dấu gạch chéo :

  1. Tạo tên cho lệnh dấu gạch chéo.
  2. Định cấu hình lệnh dấu gạch chéo trong API Google Chat.

Đặt tên cho lệnh dấu gạch chéo

Tên của lệnh dấu gạch chéo là tên mà người dùng nhập trong tin nhắn trong Chat để gọi ứng dụng Chat. Thêm một đoạn mô tả ngắn xuất hiện bên dưới tên để nhắc người dùng thêm về cách sử dụng lệnh:

Tên và nội dung mô tả của lệnh dấu gạch chéo
Hình 2: Tên và nội dung mô tả của lệnh dấu gạch chéo.

Khi chọn tên và mô tả cho lệnh dấu gạch chéo, hãy cân nhắc các đề xuất sau:

  • Cách đặt tên cho lệnh dấu gạch chéo:

    • Hãy sử dụng các từ hoặc cụm từ ngắn, mô tả và hữu ích để khiến các lệnh rõ ràng và đơn giản đối với người dùng. Ví dụ: thay vì nói /createAReminder, sử dụng /remindMe.
    • Nếu lệnh của bạn chứa nhiều từ, hãy giúp người dùng đọc lệnh đó bằng cách sử dụng toàn bộ chữ thường cho từ đầu tiên, sau đó viết hoa chữ cái đầu tiên chữ cái của từ bổ sung. Ví dụ: thay vì /updatecontact, sử dụng /updateContact.
    • Hãy cân nhắc xem nên sử dụng tên riêng biệt hay tên thông dụng cho lệnh của bạn. Nếu lệnh của bạn mô tả một tương tác hoặc tính năng thông thường, bạn có thể sử dụng tên thông dụng mà người dùng nhận ra và mong đợi, chẳng hạn như /settingshoặc /feedback Nếu không, hãy cố gắng sử dụng các tên lệnh duy nhất, vì nếu tên lệnh giống với các ứng dụng khác trong Chat, người dùng phải lọc qua các lệnh tương tự để tìm và sử dụng lệnh của bạn.
  • Để mô tả lệnh dấu gạch chéo, hãy làm như sau:

    • Mô tả ngắn gọn và rõ ràng để người dùng biết thông tin có thể mong đợi khi chúng gọi lệnh.
    • Hãy cho người dùng biết nếu lệnh này có yêu cầu nào về định dạng. Ví dụ: nếu bạn tạo một lệnh /remindMe yêu cầu đối số văn bản, hãy đặt nội dung mô tả thành Remind me to do [something] at [time].
    • Cho người dùng biết liệu ứng dụng Chat có trả lời mọi người trong không gian hoặc ở chế độ riêng tư đối với người dùng yêu cầu lệnh. Ví dụ: đối với lệnh dấu gạch chéo /about, bạn có thể mô tả lệnh này là Learn about this app (Only visible to you) Để trả lời riêng cho một lệnh dấu gạch chéo, hãy xem phần Phản hồi bằng tin nhắn riêng tư.

Định cấu hình lệnh dấu gạch chéo trong API Google Chat

Để tạo lệnh dấu gạch chéo, bạn cần chỉ định thông tin về lệnh trong cấu hình ứng dụng Chat của bạn cho API Google Chat.

Để định cấu hình lệnh dấu gạch chéo trong API Google Chat, hãy hoàn thành các bước sau các bước:

  1. Trong bảng điều khiển Google Cloud, hãy nhấp vào biểu tượng Trình đơn > API và Dịch vụ > API đã bật và Dịch vụ > API Google Chat

    Truy cập trang API Google Chat

  2. Nhấp vào Cấu hình.

  3. Trong phần Lệnhlash, hãy nhấp vào Thêm lệnh dấu gạch chéo.

  4. Nhập tên, mã lệnh và nội dung mô tả cho lệnh đó:

    1. Tên: tên hiển thị cho lệnh và nội dung người dùng nhập để gọi ứng dụng của bạn. Phải bắt đầu bằng dấu gạch chéo, chỉ chứa văn bản và có thể tối đa 50 ký tự.
    2. Mô tả: văn bản mô tả cách sử dụng và định dạng lệnh. Nội dung mô tả có thể dài tối đa 50 ký tự.
    3. Command ID: một số từ 1 đến 1000 mà bạn Ứng dụng Chat dùng để nhận dạng lệnh dấu gạch chéo và trả về phản hồi.
  5. Không bắt buộc: Nếu bạn muốn ứng dụng Chat phản hồi lệnh có hộp thoại, hãy chọn Mở hộp thoại.

  6. Nhấp vào Lưu.

Lệnh dấu gạch chéo hiện đã được định cấu hình cho ứng dụng Chat.

Phản hồi lệnh dấu gạch chéo

Khi người dùng tạo một tin nhắn trong Chat có chứa lệnh dấu gạch chéo, ứng dụng Chat của bạn sẽ nhận được một sự kiện tương tác MESSAGE. Tải trọng sự kiện chứa slashCommandslashCommandMetadata . Các đối tượng này chứa thông tin chi tiết về lệnh dùng trong thông báo (bao gồm mã nhận dạng lệnh) để bạn có thể trả về phản hồi thích hợp.

Thư cá nhân cho
  Ứng dụng Cymbal Labs trong Chat. Thông báo cho biết
  Ứng dụng nhắn tin do Cymbal Labs tạo và chia sẻ một đường liên kết
  tài liệu và đường liên kết để liên hệ với nhóm hỗ trợ.
Ứng dụng Chat sẽ phản hồi riêng tư đối với lệnh dấu gạch chéo /help để giải thích cách yêu cầu hỗ trợ.

Đoạn mã sau đây là ví dụ về một ứng dụng Chat phản hồi lệnh dấu gạch chéo /help bằng cách xử lý MESSAGE sự kiện tương tác và phát hiện xem thông báo có chứa mã nhận dạng lệnh trùng khớp hay không. Nếu thư có chứa mã nhận dạng lệnh, ứng dụng Chat sẽ trả về một tin nhắn riêng tư giải thích cách yêu cầu trợ giúp:

Node.js

/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {!Object} req Request sent from Google Chat app
* @param {!Object} res Response to send back
*
* @return {!Object} respond to slash command
*/
exports.onMessage = function onMessage(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    return res.send('Hello! This function is meant to be used in Google Chat app.');
  }

  const event = req.body;

  // Checks for the presence of event.message.slashCommand.
  // If the slash command is "/help", responds with a private text message.
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case 'ID': // The ID for your slash command
        return res.json({
          privateMessageViewer: event.user, // Optional. Responds privately to the slash command.
          text: 'This Chat app was created by Cymbal Labs. To get help with this app, <https://cymbalgroup.com/docs|see our documentation> or <https://cymbalgroup.com/support|contact our support team>.'
        });
    }
  }

  // If the Chat app doesn't detect a slash command, it responds
  // with a private text message
  return res.json({
    privateMessageViewer: event.user,
    text: 'Try a slash command.'
  });
};

Apps Script

/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {Object} event the event object from Google Chat
*/
function onMessage(event) {
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case ID: // The ID for your slash command
        return {
          "privateMessageViewer": event.user, // Optional. Responds privately to the slash command.
          "text": "This Chat app was created by Cymbal Labs. To get help with this app, <https://cymbalgroup.com/docs|see our documentation> or <https://cymbalgroup.com/support|contact our support team>."
        };
    }
  }
  else {
    return { "text": "Try a slash command.", "privateMessageViewer": event.user };
  }
}

Python

from typing import Any, Mapping

import flask
import functions_framework

@functions_framework.http
def main(req: flask.Request) -> Mapping[str, Any]:
  """Responds to a MESSAGE event in Google Chat.

  Args:
      req (flask.Request): the event object from Chat API.

  Returns:
      Mapping[str, Any]: open a Dialog in response to a card's button click.
  """
  if req.method == 'GET':
    return 'Hello! This function must be called from Google Chat.'

  request = req.get_json(silent=True)

  # Checks for the presence of event.message.slashCommand.
  # If the slash command is "/help", responds with a private text message.
  if request.get('message', {}).get('slashCommand'):
    command_id = request.get('message', {}).get('slashCommand').get('commandId')
    if command_id == 'ID': # The ID for your slash command
      return {
          'privateMessageViewer': request.get('user'),
          'text': (
              'This Chat app was created by Cymbal Labs. To get help with this'
              ' app, <https://cymbalgroup.com/docs|see our documentation> or'
              ' <https://cymbalgroup.com/support|contact our support team>.'
          ),
      }

  return {
      'privateMessageViewer': request.get('user'), # Optional. Responds privately to the slash command.
      'text': 'Try a slash command.',
  }

Thay thế ID bằng mã nhận dạng lệnh mà bạn được chỉ định khi bạn đã định cấu hình lệnh dấu gạch chéo trong API Chat. Để kiểm tra mã này, hãy xem Kiểm thử các tính năng có tính tương tác cho các ứng dụng của Google Chat.