ตอบกลับคําสั่งเครื่องหมายทับในรูปแบบแอป Google Chat

หน้านี้จะอธิบายวิธีตั้งค่าและตอบสนองต่อคำสั่งเครื่องหมายทับสำหรับแอป Google Chat

คำสั่งเครื่องหมายทับเป็นวิธีที่ผู้ใช้เรียกใช้และโต้ตอบกับแอป Chat โดยทั่วไป นอกจากนี้ คำสั่งเครื่องหมายทับยังช่วยให้ผู้ใช้ค้นพบและใช้ฟีเจอร์หลักของแอป Chat ได้ด้วย

หากต้องการใช้คำสั่งเครื่องหมายทับ ผู้ใช้จะต้องพิมพ์เครื่องหมายทับ (/) ตามด้วยคำสั่งแบบข้อความสั้นๆ เช่น /about เพื่อดูข้อมูลเกี่ยวกับแอป Chat ผู้ใช้สามารถดูคำสั่งเครื่องหมายทับที่ใช้ได้โดยการพิมพ์เครื่องหมายทับใน Google Chat ซึ่งจะแสดงหน้าต่างที่แสดงรายการคำสั่งที่ใช้ได้สำหรับแอป Chat ดังนี้

หน้าต่างคำสั่งเครื่องหมายทับ
รูปที่ 1: หน้าต่างที่ปรากฏขึ้นเมื่อผู้ใช้พิมพ์เครื่องหมายทับใน Google Chat

หากต้องการตัดสินใจว่าควรตั้งค่าคำสั่งขีดกลางหรือไม่ และเพื่อทำความเข้าใจวิธีออกแบบการโต้ตอบของผู้ใช้ โปรดดูหัวข้อกำหนดเส้นทางของผู้ใช้ทั้งหมด

คำสั่งเครื่องหมายทับที่มีการตอบกลับแบบส่วนตัว

เมื่อผู้ใช้ส่งข้อความที่มีคำสั่งเครื่องหมายทับ ข้อความดังกล่าวจะแสดงต่อผู้ใช้และแอป Chat เท่านั้น หากคุณกำหนดค่าแอป Chat ให้เพิ่มลงในพื้นที่ทำงานที่มีผู้ใช้หลายคน คุณอาจพิจารณาตอบกลับคำสั่งเครื่องหมายทับเป็นการส่วนตัวเพื่อรักษาการโต้ตอบระหว่างผู้ใช้กับแอป Chat ให้เป็นเรื่องส่วนตัว

เช่น หากต้องการดูข้อมูลเกี่ยวกับแอป Chat ที่ค้นพบในพื้นที่ทำงาน ผู้ใช้สามารถใช้คำสั่งต่างๆ เช่น /about หรือ /help แอป Chat สามารถตอบกลับเป็นการส่วนตัวพร้อมข้อมูลเกี่ยวกับวิธีใช้แอป Chat และรับการสนับสนุนได้ เพื่อหลีกเลี่ยงการแจ้งเตือนทุกคนในพื้นที่ทำงาน

ข้อกำหนดเบื้องต้น

Node.js

แอป Google Chat ที่เปิดใช้ฟีเจอร์แบบอินเทอร์แอกทีฟ หากต้องการสร้างแอป Chat แบบอินเทอร์แอกทีฟโดยใช้บริการ HTTP ให้ทําตามการเริ่มต้นใช้งานอย่างรวดเร็วนี้

Apps Script

แอป Google Chat ที่เปิดใช้ฟีเจอร์แบบอินเทอร์แอกทีฟ หากต้องการสร้างแอป Chat แบบอินเทอร์แอกทีฟใน Apps Script ให้ทำตามการเริ่มต้นใช้งานนี้

Python

แอป Google Chat ที่เปิดใช้ฟีเจอร์แบบอินเทอร์แอกทีฟ หากต้องการสร้างแอป Chat แบบอินเทอร์แอกทีฟโดยใช้บริการ HTTP ให้ทําตามการเริ่มต้นใช้งานอย่างรวดเร็วนี้

Java

แอป Google Chat ที่เปิดใช้ฟีเจอร์แบบอินเทอร์แอกทีฟ หากต้องการสร้างแอป Chat แบบอินเทอร์แอกทีฟโดยใช้บริการ HTTP ให้ทําตามการเริ่มต้นใช้งานอย่างรวดเร็วนี้

ตั้งค่าคำสั่งเครื่องหมายทับ

ส่วนนี้จะอธิบายวิธีทําตามขั้นตอนต่อไปนี้เพื่อตั้งค่าคำสั่งเครื่องหมายทับ

  1. ตั้งชื่อคำสั่งสแลช
  2. กําหนดค่าคําสั่งเครื่องหมายทับใน Google Chat API

ตั้งชื่อคำสั่งเครื่องหมายทับ

ชื่อของคำสั่งเครื่องหมายทับคือสิ่งที่ผู้ใช้พิมพ์ในข้อความ Chat เพื่อเรียกใช้แอป Chat นอกจากนี้ คำอธิบายแบบย่อจะปรากฏใต้ชื่อด้วยเพื่อแจ้งให้ผู้ใช้ทราบเพิ่มเติมเกี่ยวกับวิธีใช้คำสั่ง

ชื่อและคำอธิบายคําสั่งเครื่องหมายทับ
รูปที่ 2: ชื่อและคําอธิบายสําหรับคําสั่งเครื่องหมายทับ

เมื่อเลือกชื่อและคำอธิบายสำหรับคำสั่งแบบขีดกลาง ให้พิจารณาตามคำแนะนำต่อไปนี้

  • วิธีตั้งชื่อคำสั่งเครื่องหมายทับ

    • ใช้คำหรือวลีสั้นๆ ที่สื่อความหมายและนำไปใช้ได้จริงเพื่อให้คำสั่งชัดเจนและเข้าใจง่ายสำหรับผู้ใช้ เช่น ใช้ /remindMe แทนที่จะพูดว่า /createAReminder
    • หากคำสั่งมีมากกว่า 1 คำ โปรดช่วยให้ผู้ใช้อ่านคำสั่งได้โดยการใช้ตัวพิมพ์เล็กทั้งหมดสำหรับคำแรก แล้วขึ้นต้นคำที่ตามมาด้วยตัวพิมพ์ใหญ่ เช่น ใช้ /updateContact แทน /updatecontact
    • พิจารณาว่าจะใช้ชื่อที่ไม่ซ้ำกันหรือชื่อทั่วไปสำหรับคำสั่ง หากคำสั่งอธิบายการโต้ตอบหรือฟีเจอร์ทั่วไป คุณสามารถใช้ชื่อทั่วไปที่ผู้ใช้รู้จักและคาดหวัง เช่น /settings หรือ /feedback หรือลองใช้ชื่อคำสั่งที่ไม่ซ้ำกัน เนื่องจากหากชื่อคำสั่งของคุณเหมือนกับแอปแชทอื่นๆ ผู้ใช้จะต้องกรองคำสั่งที่คล้ายกันเพื่อค้นหาและใช้คำสั่งของคุณ
  • วิธีอธิบายคำสั่งเครื่องหมายทับ

    • เขียนคำอธิบายให้สั้นและชัดเจนเพื่อให้ผู้ใช้ทราบว่าจะเกิดอะไรขึ้นเมื่อเรียกใช้คำสั่ง
    • แจ้งให้ผู้ใช้ทราบหากมีข้อกำหนดการจัดรูปแบบสำหรับคำสั่ง เช่น หากคุณสร้างคําสั่ง /remindMe ที่ต้องระบุอาร์กิวเมนต์ ตั้งค่าคําอธิบายเป็น Remind me to do [something] at [time]
    • แจ้งให้ผู้ใช้ทราบว่าแอป Chat จะตอบกลับทุกคนในพื้นที่ทำงานหรือตอบกลับผู้ใช้ที่เรียกใช้คำสั่งเป็นการส่วนตัว เช่น สําหรับคําสั่งเครื่องหมายทับ /about คุณอาจอธิบายเป็น Learn about this app (Only visible to you)

กำหนดค่าคำสั่งเครื่องหมายทับใน Google Chat API

หากต้องการสร้างคำสั่งที่ใช้เครื่องหมายทับ คุณต้องระบุข้อมูลเกี่ยวกับคำสั่งในการกําหนดค่าแอป Chat สําหรับ Google Chat API

หากต้องการกำหนดค่าคำสั่งเครื่องหมายทับใน Google Chat API ให้ทำตามขั้นตอนต่อไปนี้

  1. ในคอนโซล Google Cloud ให้คลิกเมนู > API และบริการ > API และบริการที่เปิดใช้ > Google Chat API

    ไปที่หน้า Google Chat API

  2. คลิกการกําหนดค่า

  3. ในส่วนคำสั่งเครื่องหมายทับ ให้คลิกเพิ่มคำสั่งเครื่องหมายทับ

  4. ป้อนชื่อ รหัสคําสั่ง และคําอธิบายสําหรับคําสั่ง

    1. ชื่อ: ชื่อที่แสดงสำหรับคำสั่งและสิ่งที่ผู้ใช้พิมพ์เพื่อเรียกใช้แอปของคุณ โดยต้องขึ้นต้นด้วยเครื่องหมายทับ มีเฉพาะข้อความ และมีความยาวได้ไม่เกิน 50 อักขระ
    2. คําอธิบาย: ข้อความที่อธิบายวิธีใช้และจัดรูปแบบคําสั่ง คำอธิบายมีความยาวได้ไม่เกิน 50 อักขระ
    3. รหัสคําสั่ง: ตัวเลขตั้งแต่ 1 ถึง 1,000 ที่แอปแชทใช้เพื่อจดจําคําสั่งเครื่องหมายทับและแสดงผลตอบกลับ
  5. ไม่บังคับ: หากต้องการให้แอป Chat ตอบสนองต่อคำสั่งด้วยกล่องโต้ตอบ ให้เลือกช่องทำเครื่องหมายเปิดกล่องโต้ตอบ

  6. คลิกบันทึก

ตอนนี้คุณกำหนดค่าคำสั่งเครื่องหมายทับสำหรับแอป Chat แล้ว

ตอบสนองต่อคำสั่งเครื่องหมายทับ

เมื่อผู้ใช้สร้างข้อความใน Chat ที่มีคำสั่งเครื่องหมายทับ แอป Chat ของคุณจะได้รับMESSAGEเหตุการณ์การโต้ตอบ เพย์โหลดเหตุการณ์ประกอบด้วยออบเจ็กต์ slashCommand และ slashCommandMetadata ออบเจ็กต์เหล่านี้มีรายละเอียดเกี่ยวกับคําสั่งที่ใช้ในข้อความ (รวมถึงรหัสคําสั่ง) เพื่อให้คุณตอบกลับได้อย่างเหมาะสม

ข้อความส่วนตัวสำหรับแอป Chat ของ Cymbal Labs ข้อความระบุว่าแอป Chat สร้างขึ้นโดย Cymbal Labs และแชร์ลิงก์ไปยังเอกสารประกอบและลิงก์สำหรับติดต่อทีมสนับสนุน
แอป Chat จะตอบกลับคำสั่งเครื่องหมายทับ /help เป็นการส่วนตัวเพื่ออธิบายวิธีรับการสนับสนุน

โค้ดต่อไปนี้แสดงตัวอย่างแอป Chat ที่ตอบกลับ/aboutคำสั่งเครื่องหมายทับโดยจัดการเหตุการณ์การโต้ตอบ MESSAGE และตรวจจับว่าข้อความมีรหัสคำสั่งที่ตรงกันหรือไม่ หากข้อความมีรหัสคำสั่ง แอป Chat จะแสดงข้อความส่วนตัวดังนี้

Node.js

node/avatar-app/index.js
/**
 * Handles slash and quick commands.
 *
 * @param {Object} event - The Google Chat event.
 * @param {Object} res - The HTTP response object.
 */
function handleAppCommands(event, res) {
  const {appCommandId, appCommandType} = event.appCommandMetadata;

  switch (appCommandId) {
    case ABOUT_COMMAND_ID:
      return res.send({
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      });
    case HELP_COMMAND_ID:
      return res.send({
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      });
  }
}

Apps Script

apps-script/avatar-app/avatar-app.gs
// Checks for the presence of a slash command in the message.
if (event.message.slashCommand) {
  // Executes the slash command logic based on its ID.
  // Slash command IDs are set in the Google Chat API configuration.
  switch (event.message.slashCommand.commandId) {
    case ABOUT_COMMAND_ID:
      return {
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      };
  }
}

Python

python/avatar-app/main.py
def handle_app_commands(event: Mapping[str, Any]) -> Mapping[str, Any]:
    """Handles slash and quick commands.

    Args:
        Mapping[str, Any] event: The Google Chat event.

    Returns:
        Mapping[str, Any]: the response
    """
    app_command_id = event["appCommandMetadata"]["appCommandId"]

    if app_command_id == ABOUT_COMMAND_ID:
        return {
            "privateMessageViewer": event["user"],
            "text": "The Avatar app replies to Google Chat messages.",
        }
    elif app_command_id == HELP_COMMAND_ID:
        return {
            "privateMessageViewer": event["user"],
            "text": "The Avatar app replies to Google Chat messages.",
        }
    return {}

Java

java/avatar-app/src/main/java/AvatarApp.java
/**
 * Handles slash and quick commands.
 *
 * @param event    The Google Chat event.
 * @param response The HTTP response object.
 */
private void handleAppCommands(JsonObject event, HttpResponse response) throws Exception {
  int appCommandId = event.getAsJsonObject("appCommandMetadata").get("appCommandId").getAsInt();

  switch (appCommandId) {
    case ABOUT_COMMAND_ID:
      Message aboutMessage = new Message();
      aboutMessage.setText("The Avatar app replies to Google Chat messages.");
      aboutMessage.setPrivateMessageViewer(new User()
          .setName(event.getAsJsonObject("user").get("name").getAsString()));
      response.getWriter().write(gson.toJson(aboutMessage));
      return;
    case HELP_COMMAND_ID:
      Message helpMessage = new Message();
      helpMessage.setText("The Avatar app replies to Google Chat messages.");
      helpMessage.setPrivateMessageViewer(new User()
          .setName(event.getAsJsonObject("user").get("name").getAsString()));
      response.getWriter().write(gson.toJson(helpMessage));
      return;
  }
}

ตั้งค่า ABOUT_COMMAND_ID ด้วยรหัสคำสั่งที่คุณระบุไว้เมื่อกําหนดค่าคําสั่งเครื่องหมายทับใน Chat API หากต้องการทดสอบโค้ดนี้ โปรดดูหัวข้อทดสอบฟีเจอร์แบบอินเทอร์แอกทีฟสำหรับแอป Google Chat