این صفحه نحوه پیکربندی یک برنامه Google Chat را برای پاسخ به دستورات اسلش توضیح میدهد.
در Google Chat، افزونهها به عنوان برنامههای Google Chat برای کاربران ظاهر میشوند. برای کسب اطلاعات بیشتر، به نمای کلی Extend Google Chat مراجعه کنید.
دستور اسلش روشی متداول است که کاربران با آن برنامه چت را فراخوانی کرده و با آن تعامل دارند. دستورات اسلش همچنین به کاربران کمک می کند تا ویژگی های کلیدی یک برنامه چت را کشف کرده و از آنها استفاده کنند. برای تصمیم گیری در مورد اینکه آیا باید دستورات اسلش را تنظیم کنید یا نه و برای درک نحوه طراحی تعاملات کاربر، به تعریف همه سفرهای کاربر در اسناد Chat API مراجعه کنید.
نحوه استفاده کاربران از دستورات اسلش
برای استفاده از دستور اسلش، کاربران یک اسلش ( /
) و سپس یک دستور متن کوتاه مانند /about
را تایپ می کنند تا اطلاعاتی در مورد برنامه چت دریافت کنند. کاربران می توانند با تایپ یک اسلش در Google Chat، دستورات اسلش موجود را پیدا کنند، که پنجره ای را نشان می دهد که دستورات موجود برای برنامه Chat را فهرست می کند:
وقتی کاربر پیامی حاوی دستور اسلش ارسال میکند، پیام فقط برای کاربر و برنامه چت قابل مشاهده است. اگر برنامه چت خود را طوری پیکربندی کردهاید که به فضاهایی با چند نفر اضافه شود، میتوانید به دستور اسلش به صورت خصوصی پاسخ دهید تا تعامل بین کاربر و برنامه چت خصوصی بماند.
به عنوان مثال، برای اطلاع از برنامه چت که در یک فضا پیدا میکنند، کاربران میتوانند از دستوراتی مانند /about
یا /help
استفاده کنند. برای جلوگیری از اطلاع سایر افراد در فضا، برنامه چت میتواند به صورت خصوصی با اطلاعاتی درباره نحوه استفاده از برنامه چت و دریافت پشتیبانی پاسخ دهد.
پیش نیازها
Node.js
یک افزونه Google Workspace که گپ Google را گسترش میدهد. برای ایجاد یک، شروع سریع HTTP را تکمیل کنید.
اسکریپت برنامه ها
یک افزونه Google Workspace که گپ Google را گسترش میدهد. برای ایجاد یکی، شروع سریع Apps Script را تکمیل کنید.
یک دستور اسلش را تنظیم کنید
این بخش نحوه تکمیل مراحل زیر را برای تنظیم دستور اسلش توضیح می دهد:
دستور اسلش خود را نام ببرید
نام یک دستور اسلش همان چیزی است که کاربران در پیام چت برای فراخوانی برنامه چت تایپ می کنند. توضیحات کوتاهی نیز در زیر نام ظاهر می شود تا کاربران را در مورد نحوه استفاده از دستور بیشتر راهنمایی کند:
هنگام انتخاب نام و توضیحات برای دستور اسلش، توصیه های زیر را در نظر بگیرید:
برای نامگذاری دستور اسلش:
- از کلمات یا عبارات کوتاه، توصیفی و کاربردی استفاده کنید تا دستورات برای کاربر واضح و ساده باشد. به عنوان مثال، به جای گفتن
/createAReminder
، از/remindMe
استفاده کنید. - اگر دستور شما حاوی بیش از یک کلمه است، با استفاده از تمام حروف کوچک برای کلمه اول و سپس بزرگ کردن حرف اول کلمات اضافی به کاربران کمک کنید دستور را بخوانند. به عنوان مثال، به جای
/updatecontact
، از/updateContact
استفاده کنید. - در نظر بگیرید که آیا از یک نام منحصر به فرد یا معمول برای دستور خود استفاده کنید. اگر دستور شما یک تعامل یا ویژگی معمولی را توصیف میکند، میتوانید از نام مشترکی استفاده کنید که کاربران آن را تشخیص میدهند و انتظار دارند، مانند
/settings
یا/feedback
. در غیر این صورت، سعی کنید از نامهای دستوری منحصربهفرد استفاده کنید، زیرا اگر نام دستور شما برای سایر برنامههای چت یکسان است، کاربر باید دستورات مشابه را برای یافتن و استفاده از دستورات شما فیلتر کند.
- از کلمات یا عبارات کوتاه، توصیفی و کاربردی استفاده کنید تا دستورات برای کاربر واضح و ساده باشد. به عنوان مثال، به جای گفتن
برای توصیف دستور اسلش:
- توضیحات را کوتاه و واضح نگه دارید تا کاربران بدانند هنگام فراخوانی دستور چه انتظاری داشته باشند.
- به کاربران اطلاع دهید که آیا الزامات قالب بندی برای دستور وجود دارد. برای مثال، اگر یک دستور
/remindMe
ایجاد میکنید که به متن آرگومان نیاز دارد، توضیحات را روی چیزی مانندRemind me to do [something] at [time]
تنظیم کنید. - به کاربران اطلاع دهید که آیا برنامه چت به همه افراد حاضر در فضا پاسخ می دهد یا به صورت خصوصی به کاربری که این فرمان را فراخوانی می کند. برای مثال، برای دستور اسلش
/about
، میتوانید آن را با عنوانLearn about this app (Only visible to you)
توصیف کنید.
دستور اسلش خود را در Google Chat API پیکربندی کنید
برای ایجاد یک دستور اسلش، باید اطلاعات مربوط به فرمان را در پیکربندی برنامه چت خود برای Google Chat API مشخص کنید.
برای پیکربندی یک دستور اسلش در Google Chat API، مراحل زیر را انجام دهید:
در کنسول Google Cloud، روی > APIs & Services > Enabled APIs & Services > Google Chat API کلیک کنید.
روی پیکربندی کلیک کنید.
در قسمت تنظیمات پیشرفته ، به Triggers بروید و بررسی کنید که فیلد MESSAGE حاوی یک ماشه باشد، مانند یک نقطه پایانی HTTP یا عملکرد Apps Script. برای پاسخ به دستور اسلش باید از این trigger to در قسمت زیر استفاده کنید.
در زیر دستورات اسلش ، روی افزودن دستور اسلش کلیک کنید.
نام، شناسه فرمان و توضیحات دستور را وارد کنید:
- نام: نام نمایشی دستور و آنچه کاربران برای فراخوانی برنامه شما تایپ می کنند. باید با اسلش شروع شود، فقط حاوی متن باشد و حداکثر 50 کاراکتر باشد.
- توضیحات: متنی که نحوه استفاده و قالب بندی دستور را توضیح می دهد. توضیحات می تواند حداکثر 50 کاراکتر باشد.
- شناسه فرمان: عددی از 1 تا 1000 که برنامه چت شما از آن برای تشخیص دستور اسلش و برگرداندن پاسخ استفاده می کند.
اختیاری: اگر میخواهید برنامه چت شما به فرمان با یک گفتگو پاسخ دهد، کادر باز کردن یک گفتگو را انتخاب کنید.
روی ذخیره کلیک کنید.
دستور اسلش اکنون برای برنامه چت پیکربندی شده است.
به یک دستور اسلش پاسخ دهید
وقتی کاربران یک پیام چت ایجاد می کنند، برنامه چت شما یک شی رویداد دریافت می کند که حاوی اطلاعاتی درباره پیام است. شی رویداد حاوی یک بار با جزئیات در مورد دستور استفاده شده در پیام (شامل شناسه فرمان) است، به طوری که می توانید پاسخ مناسب را برگردانید.
برای پاسخ به یک دستور اسلش، باید راهانداز پیام را پیادهسازی کنید تا برنامه چت شما بتواند هر شی رویدادی را که حاوی فراداده فرمان اسلش است، مدیریت کند.
کد زیر نمونه ای از یک برنامه چت را نشان می دهد که به دستور اسلش /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 }
}]
}]
}
}]
}}}}});
};
اسکریپت برنامه ها
// 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 مشخص کردهاید، جایگزین کنید.