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

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

ใน Google Chat ส่วนเสริมจะปรากฏต่อผู้ใช้เป็นแอป Google Chat ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมการขยาย Google Chat

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

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

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

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

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

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

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

Node.js

ส่วนเสริมของ Google Workspace ที่ขยายความสามารถของ Google Chat หากต้องการสร้าง ให้ทำตามการเริ่มต้นใช้งาน HTTP ฉบับย่อ

Apps Script

ส่วนเสริมของ Google Workspace ที่ขยายความสามารถของ Google Chat หากต้องการสร้าง โปรดทำตามการเริ่มต้นใช้งาน Apps Script อย่างรวดเร็ว

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

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

  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. ในส่วนการตั้งค่าขั้นสูง ให้ไปที่ทริกเกอร์ แล้วตรวจสอบว่าช่องข้อความมีทริกเกอร์ เช่น ปลายทาง HTTP หรือฟังก์ชัน Apps Script คุณต้องทริกเกอร์นี้ในส่วนต่อไปนี้เพื่อตอบสนองต่อคำสั่งขีดกลาง

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

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

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

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

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

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

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

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

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

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

Node.js

// 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 ABOUT_COMMAND_ID = 0;

/**
 * Google Cloud Function that responds to messages sent from a
 * Google Chat space.
 *
 * @param {Object} req Request sent from Google Chat space
 * @param {Object} res Response to send back
 */
exports.avatarApp = function avatarApp(req, res) {
    if (req.method === 'GET' || !req.body.chat) {
        return res.send('Hello! This function is meant to be used ' +
            'in a Google Chat Space.');
    }

    // Stores the Google Chat event as a variable.
    const chatMessage = req.body.chat.messagePayload.message;

    if (chatMessage.slashCommand) {
        // Executes the slash command logic based on its ID.
        // Slash command IDs are set in the Google Chat API configuration.
        switch (chatMessage.slashCommand.commandId) {
            case ABOUT_COMMAND_ID:
                return res.send({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
                    text: 'The Avatar app replies to Google Chat messages.'
                }}}}});
        }
    }

    // Replies with the sender's avatar in a card otherwise.
    const displayName = chatMessage.sender.displayName;
    const avatarUrl = chatMessage.sender.avatarUrl;
    res.send({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
        text: 'Here\'s your avatar',
        cardsV2: [{
            cardId: 'avatarCard',
            card: {
                name: 'Avatar Card',
                header: {
                    title: `Hello ${displayName}!`,
                },
                sections: [{
                    widgets: [{
                        textParagraph: { text: 'Your avatar picture: ' }
                    }, {
                        image: { imageUrl: avatarUrl }
                    }]
                }]
            }
        }]
    }}}}});
};

Apps Script

// 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 ABOUT_COMMAND_ID = 0;

/**
 * Responds to a MESSAGE event in Google Chat.
 *
 * @param {Object} event the event object from Google Chat
 */
function onMessage(event) {
    // Stores the Google Chat event as a variable.
    const chatMessage = event.chat.messagePayload.message;

    if (chatMessage.slashCommand) {
        // Executes the slash command logic based on its ID.
        // Slash command IDs are set in the Google Chat API configuration.
        switch (chatMessage.slashCommand.commandId) {
            case ABOUT_COMMAND_ID:
                return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
                    text: 'The Avatar app replies to Google Chat messages.'
                }}}}};
        }
    }

    // Replies with the sender's avatar in a card otherwise.
    const displayName = chatMessage.sender.displayName;
    const avatarUrl = chatMessage.sender.avatarUrl;
    return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
        text: 'Here\'s your avatar',
        cardsV2: [{
            cardId: 'avatarCard',
            card: {
                name: 'Avatar Card',
                header: {
                    title: `Hello ${displayName}!`,
                },
                sections: [{
                    widgets: [{
                        textParagraph: { text: 'Your avatar picture: ' }
                    }, {
                        image: { imageUrl: avatarUrl }
                    }]
                }]
            }
        }]
    }}}}};
}

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