इस पेज पर, Google Chat ऐप्लिकेशन के तौर पर कमांड सेट अप करने और उनका जवाब देने का तरीका बताया गया है.
कमांड की मदद से, उपयोगकर्ता Chat ऐप्लिकेशन की मुख्य सुविधाओं को ढूंढ सकते हैं और उनका इस्तेमाल कर सकते हैं. सिर्फ़ Chat ऐप्लिकेशन ही किसी कमांड का कॉन्टेंट देख सकते हैं. उदाहरण के लिए, अगर कोई उपयोगकर्ता स्लैश कमांड के साथ मैसेज भेजता है, तो वह मैसेज सिर्फ़ उपयोगकर्ता और Chat ऐप्लिकेशन को दिखता है.
कमांड बनाने के बारे में फ़ैसला लेने और उपयोगकर्ता के इंटरैक्शन डिज़ाइन करने का तरीका जानने के लिए, उपयोगकर्ता के सभी पाथ तय करना लेख पढ़ें.
Chat ऐप्लिकेशन के कमांड के टाइप
Chat ऐप्लिकेशन के कमांड को स्लैश कमांड, क्विक कमांड या मैसेज ऐक्शन के तौर पर बनाया जा सकता है. हर तरह के कमांड का इस्तेमाल करने के लिए, उपयोगकर्ता ये काम कर सकते हैं:-
स्लैश कमांड: उपयोगकर्ता मेन्यू से कोई स्लैश कमांड चुन सकते हैं या स्लैश (
/) टाइप करके, पहले से तय किया गया कोई टेक्स्ट टाइप कर सकते हैं. जैसे,/about. आम तौर पर, Chat ऐप्लिकेशन को स्लैश कमांड के लिए आर्ग्युमेंट टेक्स्ट की ज़रूरत होती है.अगर आपके Chat ऐप्लिकेशन को उपयोगकर्ता से अतिरिक्त इनपुट की ज़रूरत है, तो स्लैश कमांड बनाएं. उदाहरण के लिए, आप एक स्लैश कमांड बना सकते हैं जिसे
/searchकहा जाता है जो उपयोगकर्ता द्वारा खोज के लिए एक वाक्यांश दर्ज करने के बाद चलता है, जैसे/search receipts. -
क्विक कमांड: उपयोगकर्ता, चैट मैसेज के जवाब वाले सेक्शन से मेन्यू खोलकर कमांड का इस्तेमाल करते हैं. कमांड का इस्तेमाल करने के लिए, वे जोड़ें
पर क्लिक करते हैं और मेन्यू से कोई कमांड चुनते हैं.
अगर आपका Chat ऐप्लिकेशन, अतिरिक्त इनपुट का जवाब दिए बिना तुरंत उपयोगकर्ता को जवाब दे सकता है, तो क्विक कमांड बनाएं. उदाहरण के लिए, **रैंडम इमेज** नाम की क्विक कमांड बनाई जा सकती है. यह कमांड, तुरंत कोई इमेज भेजकर जवाब देती है.
-
मैसेज ऐक्शन: उपयोगकर्ता, किसी मैसेज पर कर्सर घुमाकर और तीन बिंदु वाले मेन्यू पर क्लिक करके, मैसेज ऐक्शन का इस्तेमाल करते हैं. कमांड का इस्तेमाल करने के लिए, वे तीन बिंदु वाला मेन्यू खोलते हैं और मेन्यू से कोई कमांड चुनते हैं.
अगर आपका Chat ऐप्लिकेशन, मैसेज के कॉन्टेक्स्ट के आधार पर कार्रवाइयां कर सकता है, तो मैसेज पर कार्रवाई बनाएं.
यहां दी गई इमेज में दिखाया गया है कि उपयोगकर्ता, स्लैश और क्विक कमांड के लिए मेन्यू और मैसेज ऐक्शन कैसे ढूंढते हैं:
ज़रूरी शर्तें
HTTP
यह Google Workspace का एक ऐड-ऑन है, जो Google Chat की सुविधाओं को बढ़ाता है. इसे बनाने के लिए, HTTP क्विकस्टार्ट पूरा करें.
Apps Script
यह Google Workspace का एक ऐड-ऑन है, जो Google Chat की सुविधाओं को बढ़ाता है. इसे बनाने के लिए, Apps Script का क्विकस्टार्ट पूरा करें.
कमांड सेट अप करना
इस सेक्शन में, कमांड सेट अप करने के लिए ये चरण पूरे करने का तरीका बताया गया है:
कमांड का नाम और जानकारी देना
कमांड का नाम वह टेक्स्ट होता है जिसे उपयोगकर्ता, Chat ऐप्लिकेशन को शुरू करने के लिए टाइप करते हैं या चुनते हैं. नाम के नीचे एक छोटा सा ब्यौरा भी दिखता है, ताकि उपयोगकर्ताओं को कमांड इस्तेमाल करने के तरीके के बारे में ज़्यादा जानकारी मिल सके:
अपनी कमांड के लिए नाम और जानकारी चुनते समय, इन सुझावों को ध्यान में रखें:
कमांड का नाम देने के लिए:
- कमांड को उपयोगकर्ताओं के लिए साफ़ तौर पर दिखाने के लिए, छोटे, जानकारी देने वाले, और कार्रवाई करने वाले शब्दों या वाक्यांशों का इस्तेमाल करें. उदाहरण के लिए,
Create a reminderनाम के बजाय,Remind meका इस्तेमाल करें. - अपनी कमांड के लिए कोई यूनीक या सामान्य नाम इस्तेमाल करने पर विचार करें. अगर आपकी कमांड, किसी सामान्य इंटरैक्शन या सुविधा के बारे में बताती है, तो ऐसा सामान्य नाम इस्तेमाल किया जा सकता है जिसे उपयोगकर्ता पहचानते और उम्मीद करते हैं,
जैसे
SettingsयाFeedback. इसके अलावा, कमांड के लिए यूनीक नाम इस्तेमाल करने की कोशिश करें. ऐसा इसलिए, क्योंकि अगर आपकी कमांड का नाम, अन्य Chat ऐप्लिकेशन के लिए भी वही है, तो उपयोगकर्ता को आपकी कमांड ढूंढने और उसका इस्तेमाल करने के लिए, एक जैसी कमांड को फ़िल्टर करना होगा.
कमांड की जानकारी देने के लिए:
- जानकारी को छोटा और साफ़ रखें, ताकि उपयोगकर्ताओं को पता हो कि कमांड का इस्तेमाल करने पर उन्हें क्या मिलेगा.
- उपयोगकर्ताओं को बताएं कि कमांड के लिए फ़ॉर्मैटिंग से जुड़ी कोई ज़रूरी शर्तें हैं या नहीं. उदाहरण के लिए, अगर आपने कोई स्लैश कमांड बनाई है जिसके लिए आर्ग्युमेंट टेक्स्ट की ज़रूरत है, तो जानकारी को
Remind me to do [something] at [time]के तौर पर सेट करें. - उपयोगकर्ताओं को बताएं कि Chat ऐप्लिकेशन, स्पेस में मौजूद सभी लोगों को जवाब देता है या
सिर्फ़ उस उपयोगकर्ता को निजी तौर पर जवाब देता है जिसने कमांड शुरू की है. उदाहरण के लिए, क्विक कमांड
Aboutके लिए, इसेLearn about this app (Only visible to you)के तौर पर बताया जा सकता है.
Google Cloud Console में कमांड कॉन्फ़िगर करना
स्लैश कमांड, क्विक कमांड या मैसेज पर कार्रवाई बनाने के लिए, Google Chat API के लिए अपने Chat ऐप्लिकेशन के कॉन्फ़िगरेशन में, कमांड या कार्रवाई के बारे में जानकारी दें.
Google Chat API में कोई कमांड कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:
Google Cloud Console में, मेन्यू > एपीआई और सेवाएं > चालू की गई एपीआई और सेवाएं > Google Chat API पर क्लिक करें
कॉन्फ़िगरेशन पर क्लिक करें.
कनेक्शन सेटिंग में जाकर, ट्रिगर पर जाएं और अपने एंडपॉइंट की जानकारी दें. कमांड का जवाब देने के लिए, आपको अगले सेक्शन में इस ट्रिगर का इस्तेमाल करना होगा.
- एचटीटीपी एंडपॉइंट का यूआरएल: यहां एक सामान्य एचटीटीपी एंडपॉइंट का यूआरएल दिया जा सकता है. इसके अलावा, अलग-अलग ट्रिगर के लिए अलग-अलग एचटीटीपी एंडपॉइंट इस्तेमाल करने के लिए, ऐप्लिकेशन कमांड फ़ील्ड में सीधे एंडपॉइंट की जानकारी दें.
- Apps Script: Apps Script का डिप्लॉयमेंट आईडी डालें. डिफ़ॉल्ट रूप से,
onAppCommandफ़ंक्शन शुरू होगा. Apps Script के किसी दूसरे फ़ंक्शन का इस्तेमाल करने के लिए, ऐप्लिकेशन कमांड फ़ील्ड में पसंद के मुताबिक बनाए गए फ़ंक्शन का नाम डालें.
**कमांड** में जाकर, **कोई कमांड जोड़ें** पर क्लिक करें.
कमांड के बारे में यह जानकारी डालें:
- कमांड आईडी: 1 से 1000 तक कोई ऐसा नंबर जिसका इस्तेमाल, आपका Chat ऐप्लिकेशन कमांड को पहचानने और जवाब देने के लिए करता है.
- जानकारी: वह टेक्स्ट जो कमांड का इस्तेमाल करने और उसे फ़ॉर्मैट करने का तरीका बताता है. जानकारी में ज़्यादा से ज़्यादा 50 वर्ण हो सकते हैं.
- कमांड का टाइप: क्विक कमांड, स्लैश कमांड या मैसेज पर कार्रवाई में से कोई एक विकल्प चुनें.
- कमांड के लिए कोई नाम तय करें:
- क्विक कमांड का नाम: वह डिसप्ले नेम जिसे उपयोगकर्ता, कमांड शुरू करने के लिए मेन्यू से चुनते हैं. इसमें ज़्यादा से ज़्यादा 50 वर्ण हो सकते हैं और इसमें खास वर्ण शामिल किए जा सकते हैं. उदाहरण के लिए,
Remind me. - स्लैश कमांड का नाम: वह टेक्स्ट जिसे उपयोगकर्ता, किसी मैसेज में कमांड शुरू करने के लिए टाइप करते हैं. यह स्लैश से शुरू होना चाहिए. इसमें सिर्फ़ टेक्स्ट होना चाहिए और इसमें ज़्यादा से ज़्यादा 50 वर्ण हो सकते हैं. उदाहरण के लिए,
/remindMe. - मैसेज पर कार्रवाई का नाम: वह डिसप्ले नेम जिसे उपयोगकर्ता, मैसेज पर कार्रवाई शुरू करने के लिए मेन्यू से चुनते हैं. इसमें ज़्यादा से ज़्यादा 50 वर्ण हो सकते हैं और इसमें खास वर्ण शामिल किए जा सकते हैं. उदाहरण के लिए,
Remind me.
- क्विक कमांड का नाम: वह डिसप्ले नेम जिसे उपयोगकर्ता, कमांड शुरू करने के लिए मेन्यू से चुनते हैं. इसमें ज़्यादा से ज़्यादा 50 वर्ण हो सकते हैं और इसमें खास वर्ण शामिल किए जा सकते हैं. उदाहरण के लिए,
ज़रूरी नहीं: लोडिंग की सूचना देने वाला मैसेज: मैसेज पर कार्रवाई के चलने के दौरान, उपयोगकर्ता को दिखाने के लिए टोस्ट सूचना वाला मैसेज. यह सुविधा सिर्फ़ उन मैसेज ऐक्शन के लिए उपलब्ध है जो डायलॉग बॉक्स नहीं खोलते.
ज़रूरी नहीं: अगर आपको Chat ऐप्लिकेशन से कमांड का जवाब डायलॉग बॉक्स में चाहिए, तो डायलॉग बॉक्स खोलें चेकबॉक्स को चुनें.
सेव करें पर क्लिक करें.
अब Chat ऐप्लिकेशन के लिए कमांड कॉन्फ़िगर हो गई है.
कमांड का जवाब देना
जब उपयोगकर्ता किसी कमांड का इस्तेमाल करते हैं, तो आपके Chat ऐप्लिकेशन को एक इवेंट ऑब्जेक्ट
मिलता है.
इवेंट पेलोड में एक
appCommandPayload
ऑब्जेक्ट होता है. इसमें शुरू की गई कमांड के बारे में जानकारी शामिल होती है. जैसे, कमांड
आईडी और कमांड का टाइप. इससे आपको सही जवाब देने में मदद मिलती है.
इवेंट ऑब्जेक्ट, उस एचटीटीपी एंडपॉइंट या Apps Script
फ़ंक्शन को भेजा जाता है जिसे आपने **ऐप्लिकेशन कमांड**
ट्रिगर को कॉन्फ़िगर करते समय तय किया था.
/help का जवाब निजी तौर पर देता है, ताकि सहायता पाने का तरीका बताया जा सके.यहां दिए गए कोड में, Chat ऐप्लिकेशन का एक उदाहरण दिखाया गया है. यह स्लैश कमांड /about का जवाब, टेक्स्ट मैसेज के ज़रिए देता है. स्लैश कमांड का जवाब देने के लिए, Chat ऐप्लिकेशन ऐप्लिकेशन कमांड ट्रिगर से मिले इवेंट ऑब्जेक्ट को हैंडल करता है. जब किसी इवेंट ऑब्जेक्ट के पेलोड में स्लैश
कमांड आईडी शामिल होता है, तो Chat ऐप्लिकेशन, DataActions
के साथ createMessageAction ऑब्जेक्ट दिखाता है:
Node.js
Python
Java
Apps Script
इस कोड सैंपल का इस्तेमाल करने के लिए, ABOUT_COMMAND_ID को उस कमांड आईडी से बदलें जिसे आपने Chat API में कमांड कॉन्फ़िगर करते समय तय किया था.
मैसेज पर कार्रवाई का जवाब देना
यहां दिए गए कोड में, Chat ऐप्लिकेशन का एक उदाहरण दिखाया गया है. यह Remind me मैसेज पर कार्रवाई का जवाब, टेक्स्ट मैसेज के ज़रिए देता है. मैसेज ऐक्शन का जवाब देने के लिए, Chat ऐप्लिकेशन ऐप्लिकेशन कमांड ट्रिगर से मिले इवेंट ऑब्जेक्ट को हैंडल करता है. जब किसी इवेंट ऑब्जेक्ट के पेलोड में मैसेज ऐक्शन कमांड आईडी शामिल होता है, तो Chat ऐप्लिकेशन, createMessageAction
ऑब्जेक्ट के साथ
DataActions मैसेज पर कार्रवाई दिखाता है:
Node.js
/**
* Responds to an APP_COMMAND interaction event from Google Chat.
*
* @param {Object} event The interaction event from Google Chat.
* @param {Object} res The HTTP response object.
* @return {Object} The JSON response message with a confirmation.
*/
function onAppCommand(event, res) {
// Collect the command ID and type from the event metadata.
const {appCommandId, appCommandType} =
event.chat.appCommandPayload.appCommandMetadata;
if (appCommandType === 'MESSAGE_ACTION' &&
appCommandId === REMIND_ME_COMMAND_ID) {
// Message actions can access the context of the message they were
// invoked on, such as the text or sender of that message.
const messageText = event.chat.appCommandPayload.message.text;
// Return a response that includes details from the original message.
return res.json({
"hostAppDataAction": {
"chatDataAction": {
"createMessageAction": {
"message": {
"text": `Setting a reminder for message: "${messageText}"`
}
}
}
}
});
}
}
Python
def on_app_command(event):
"""Responds to an APP_COMMAND interaction event from Google Chat.
Args:
event (dict): The interaction event from Google Chat.
Returns:
dict: The JSON response message with a confirmation.
"""
# Collect the command ID and type from the event metadata.
payload = event.get('chat', {}).get('appCommandPayload', {})
metadata = payload.get('appCommandMetadata', {})
if metadata.get('appCommandType') == 'MESSAGE_ACTION' and \
metadata.get('appCommandId') == REMIND_ME_COMMAND_ID:
# Message actions can access the context of the message they were
# invoked on, such as the text or sender of that message.
message_text = payload.get('message', {}).get('text')
# Return a response that includes details from the original message.
return {
"hostAppDataAction": {
"chatDataAction": {
"createMessageAction": {
"message": {
"text": f'Setting a reminder for message: "{message_text}"'
}
}
}
}
}
Java
/**
* Responds to an APP_COMMAND interaction event from Google Chat.
*
* @param event The interaction event from Google Chat.
* @param response The HTTP response object.
*/
void onAppCommand(JsonObject event, HttpResponse response) throws Exception {
// Collect the command ID and type from the event metadata.
JsonObject payload = event.getAsJsonObject("chat").getAsJsonObject("appCommandPayload");
JsonObject metadata = payload.getAsJsonObject("appCommandMetadata");
String appCommandType = metadata.get("appCommandType").getAsString();
if (appCommandType.equals("MESSAGE_ACTION")) {
int commandId = metadata.get("appCommandId").getAsInt();
if (commandId == REMIND_ME_COMMAND_ID) {
// Message actions can access the context of the message they were
// invoked on, such as the text or sender of that message.
String messageText = payload.getAsJsonObject("message").get("text").getAsString();
// Return a response that includes details from the original message.
JsonObject responseMessage = new JsonObject();
responseMessage.addProperty("text", "Setting a reminder for message: " + messageText);
JsonObject createMessageAction = new JsonObject();
createMessageAction.add("message", responseMessage);
JsonObject chatDataAction = new JsonObject();
chatDataAction.add("createMessageAction", createMessageAction);
JsonObject hostAppDataAction = new JsonObject();
hostAppDataAction.add("chatDataAction", chatDataAction);
JsonObject finalResponse = new JsonObject();
finalResponse.add("hostAppDataAction", hostAppDataAction);
response.getWriter().write(finalResponse.toString());
}
}
}
Apps Script
/**
* Responds to an APP_COMMAND interaction event in Google Chat.
*
* @param {Object} event The interaction event from Google Chat.
* @return {Object} The JSON response message with a confirmation.
*/
function onAppCommand(event) {
// Collect the command ID and type from the event metadata.
const {appCommandId, appCommandType} =
event.chat.appCommandPayload.appCommandMetadata;
if (appCommandType === 'MESSAGE_ACTION' &&
appCommandId === REMIND_ME_COMMAND_ID) {
// Message actions can access the context of the message they were
// invoked on, such as the text or sender of that message.
const messageText = event.chat.appCommandPayload.message.text;
// Return a response that includes details from the original message.
return CardService.newChatResponseBuilder()
.setText("Setting a reminder for message: " + messageText)
.build();
}
}
इस कोड सैंपल का इस्तेमाल करने के लिए, REMIND_ME_COMMAND_ID को उस कमांड आईडी से बदलें जिसे आपने Chat API में कमांड कॉन्फ़िगर करते समय तय किया था.
कमांड की जांच करना
कमांड और कोड की जांच करने के लिए, Google Chat ऐप्लिकेशन के लिए इंटरैक्टिव सुविधाओं की जांच करना लेख पढ़ें.
Chat यूज़र इंटरफ़ेस (यूआई) में कमांड की जांच करने और उसका इस्तेमाल करने का तरीका जानने के लिए, Google Chat की मदद से जुड़े दस्तावेज़ में,Google Chat में ऐप्लिकेशन इस्तेमाल करना लेख पढ़ें.
मिलते-जुलते विषय
- कमांड का इस्तेमाल करने वाले Chat ऐप्लिकेशन के सैंपल देखना
- मैसेज भेजें
- इंटरैक्टिव डायलॉग बॉक्स खोलना