หน้านี้อธิบายวิธีกำหนดค่าแอป Google Chat ให้ตอบสนองต่อคำสั่งเครื่องหมายทับ
ใน Google Chat ส่วนเสริมจะปรากฏต่อผู้ใช้เป็นแอป Google Chat ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมการขยาย Google Chat
คำสั่งเครื่องหมายทับเป็นวิธีที่ผู้ใช้เรียกใช้และโต้ตอบกับแอป Chat โดยทั่วไป นอกจากนี้ คำสั่งเครื่องหมายทับยังช่วยให้ผู้ใช้ค้นพบและใช้ฟีเจอร์หลักของแอป Chat ได้อีกด้วย หากต้องการตัดสินใจว่าคุณควรตั้งค่าคำสั่งเครื่องหมายทับหรือไม่ และเพื่อทำความเข้าใจวิธีออกแบบการโต้ตอบของผู้ใช้ โปรดดูกำหนดเส้นทางของผู้ใช้ทั้งหมดในเอกสารประกอบของ Chat API
วิธีที่ผู้ใช้ใช้คำสั่งเครื่องหมายทับ
หากต้องการใช้คำสั่งเครื่องหมายทับ ผู้ใช้จะต้องพิมพ์เครื่องหมายทับ (/
) ตามด้วยคำสั่งแบบข้อความสั้นๆ เช่น /about
เพื่อดูข้อมูลเกี่ยวกับแอป Chat ผู้ใช้สามารถดูคำสั่งเครื่องหมายทับที่ใช้ได้โดยการพิมพ์เครื่องหมายทับใน Google Chat ซึ่งจะแสดงหน้าต่างที่แสดงรายการคำสั่งที่ใช้ได้สำหรับแอป Chat ดังนี้
![หน้าต่างคำสั่งเครื่องหมายทับ](https://developers.google.cn/static/workspace/chat/images/slash-command-window.png?authuser=3&hl=th)
เมื่อผู้ใช้ส่งข้อความที่มีคำสั่งเครื่องหมายทับ ข้อความดังกล่าวจะแสดงต่อผู้ใช้และแอป Chat เท่านั้น หากคุณกำหนดค่าแอป Chat ให้เพิ่มลงในพื้นที่ทำงานที่มีผู้ใช้หลายคน คุณอาจพิจารณาตอบกลับคำสั่งเครื่องหมายทับเป็นการส่วนตัวเพื่อรักษาการโต้ตอบระหว่างผู้ใช้กับแอป Chat ให้เป็นเรื่องส่วนตัว
เช่น หากต้องการดูข้อมูลเกี่ยวกับแอป Chat ที่ค้นพบในพื้นที่ทำงาน ผู้ใช้สามารถใช้คำสั่งต่างๆ เช่น /about
หรือ /help
แอป Chat สามารถตอบกลับเป็นการส่วนตัวพร้อมข้อมูลเกี่ยวกับวิธีใช้แอป Chat และรับการสนับสนุนได้ เพื่อหลีกเลี่ยงการแจ้งเตือนทุกคนในพื้นที่ทำงาน
ข้อกำหนดเบื้องต้น
Node.js
ส่วนเสริมของ Google Workspace ที่ขยายความสามารถของ Google Chat หากต้องการสร้าง โปรดทำตามการเริ่มต้นใช้งาน HTTP ฉบับย่อ
Apps Script
ส่วนเสริมของ Google Workspace ที่ขยายความสามารถของ Google Chat หากต้องการสร้าง โปรดทำตามการเริ่มต้นใช้งาน Apps Script อย่างรวดเร็ว
ตั้งค่าคำสั่งเครื่องหมายทับ
ส่วนนี้จะอธิบายวิธีทําตามขั้นตอนต่อไปนี้เพื่อตั้งค่าคำสั่งเครื่องหมายทับ
- ตั้งชื่อคำสั่งสแลช
- กําหนดค่าคําสั่งเครื่องหมายทับใน Google Chat API
ตั้งชื่อคำสั่งเครื่องหมายทับ
ชื่อของคำสั่งเครื่องหมายทับคือสิ่งที่ผู้ใช้พิมพ์ในข้อความ Chat เพื่อเรียกใช้แอป Chat นอกจากนี้ คำอธิบายแบบย่อจะปรากฏใต้ชื่อด้วยเพื่อแจ้งให้ผู้ใช้ทราบเพิ่มเติมเกี่ยวกับวิธีใช้คำสั่ง
![ชื่อและคำอธิบายคําสั่งเครื่องหมายทับ](https://developers.google.cn/static/workspace/chat/images/slash-command-description.png?authuser=3&hl=th)
เมื่อเลือกชื่อและคำอธิบายสำหรับคำสั่งแบบขีดกลาง ให้พิจารณาตามคำแนะนำต่อไปนี้
วิธีตั้งชื่อคำสั่งเครื่องหมายทับ
- ใช้คำหรือวลีสั้นๆ ที่สื่อความหมายและนำไปใช้ได้จริงเพื่อให้คำสั่งชัดเจนและเข้าใจง่ายสำหรับผู้ใช้ เช่น ใช้
/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 ให้ทำตามขั้นตอนต่อไปนี้
ในคอนโซล Google Cloud ให้คลิกเมนู > API และบริการ > API และบริการที่เปิดใช้ > Google Chat API
คลิกการกําหนดค่า
ในส่วนการตั้งค่าขั้นสูง ให้ไปที่ทริกเกอร์ แล้วตรวจสอบว่าช่องคําสั่งแอปมีทริกเกอร์ เช่น ปลายทาง HTTP หรือฟังก์ชัน Apps Script คุณต้องทริกเกอร์นี้ในส่วนต่อไปนี้เพื่อตอบสนองต่อคำสั่งขีดกลาง
ในส่วนคําสั่ง ให้คลิกเพิ่มคําสั่ง
ป้อนรหัสคําสั่ง ประเภทคําสั่ง ชื่อคําสั่งเครื่องหมายทับ ชื่อ และคําอธิบายสําหรับคําสั่ง
- รหัสคําสั่ง: ตัวเลขตั้งแต่ 1 ถึง 1,000 ที่แอปแชทใช้เพื่อจดจําคําสั่งเครื่องหมายทับและแสดงผลตอบกลับ
- ประเภทคําสั่ง: เลือกคําสั่งเครื่องหมายทับ
- ชื่อคำสั่งเครื่องหมายทับ: ชื่อที่แสดงสำหรับคำสั่งและสิ่งที่ผู้ใช้พิมพ์เพื่อเรียกใช้แอปของคุณ โดยต้องขึ้นต้นด้วยเครื่องหมายทับ มีเฉพาะข้อความ และยาวได้ไม่เกิน 50 อักขระ
- ชื่อ: ชื่อที่เรียกง่ายของคําสั่ง ชื่อมีอักขระได้ไม่เกิน 50 ตัวและอาจมีสัญลักษณ์พิเศษ
- ใช้คำหรือวลีสั้นๆ ที่สื่อความหมายและนำไปใช้ได้จริงเพื่อให้ผู้ใช้เข้าใจคำสั่งได้ชัดเจน เช่น ใช้ อัปเดตรายชื่อติดต่อสำหรับคำสั่งที่แก้ไขระเบียนรายชื่อติดต่อ
- คําอธิบาย: ข้อความที่อธิบายวิธีใช้และจัดรูปแบบคําสั่ง คำอธิบายมีความยาวได้ไม่เกิน 50 อักขระ
ไม่บังคับ: หากต้องการให้แอป Chat ตอบสนองต่อคำสั่งด้วยกล่องโต้ตอบ ให้เลือกช่องทำเครื่องหมายเปิดกล่องโต้ตอบ
คลิกบันทึก
ตอนนี้คุณกำหนดค่าคำสั่งเครื่องหมายทับสำหรับแอป Chat แล้ว
ตอบสนองต่อคำสั่งเครื่องหมายทับ
เมื่อผู้ใช้สร้างข้อความใน Chat แอป Chat ของคุณจะได้รับออบเจ็กต์เหตุการณ์ที่มีข้อมูลเกี่ยวกับข้อความ
ออบเจ็กต์เหตุการณ์มีเพย์โหลด AppCommand
พร้อมรายละเอียดเกี่ยวกับคําสั่งที่ใช้ในข้อความ (รวมถึงรหัสคําสั่ง) เพื่อให้คุณตอบกลับได้อย่างเหมาะสม
หากต้องการตอบสนองต่อคำสั่งเครื่องหมายทับ คุณต้องติดตั้งใช้งานทริกเกอร์คําสั่งแอปเพื่อให้แอป Chat จัดการออบเจ็กต์เหตุการณ์ที่มีข้อมูลเมตาคําสั่งแอปได้
![ข้อความส่วนตัวสำหรับแอป Chat ของ Cymbal Labs ข้อความระบุว่าแอป Chat สร้างขึ้นโดย Cymbal Labs และแชร์ลิงก์ไปยังเอกสารประกอบและลิงก์สำหรับติดต่อทีมสนับสนุน](https://developers.google.cn/static/workspace/chat/images/private-message.png?authuser=3&hl=th)
/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 events 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 chatEvent = req.body.chat;
// Handles APP_COMMAND events
if (chatEvent.appCommandPayload) {
// Stores the Google Chat app command metadata as a variable.
const appCommandMetadata = chatEvent.appCommandPayload.appCommandMetadata;
if (appCommandMetadata.appCommandType === "SLASH_COMMAND") {
// Executes the slash command logic based on its ID.
// Slash command IDs are set in the Google Chat API configuration.
switch (appCommandMetadata.appCommandId) {
case ABOUT_COMMAND_ID:
return res.send({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'The Avatar app replies to Google Chat messages.'
}}}}});
}
}
// Handles MESSAGE events
} else if (chatEvent.messagePayload) {
// Stores the Google Chat event as a variable.
const chatMessage = chatEvent.messagePayload.message;
// 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;
// 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 }
}]
}]
}
}]
}}}}};
}
/**
* 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 == "SLASH_COMMAND") {
// Executes the slash command logic based on its ID.
// Slash command IDs are set in the Google Chat API configuration.
switch (appCommandMetadata.appCommandId) {
case ABOUT_COMMAND_ID:
return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'The Avatar app replies to Google Chat messages.'
}}}}};
}
}
}
หากต้องการใช้ตัวอย่างโค้ดนี้ ให้แทนที่ ABOUT_COMMAND_ID
ด้วยรหัสคำสั่งที่คุณระบุไว้เมื่อกําหนดค่าคําสั่งเครื่องหมายทับใน Chat API