Google Chat ऐप्लिकेशन के निर्देशों का जवाब देना

इस पेज पर, Google Chat ऐप्लिकेशन के तौर पर कमांड सेट अप करने और उनका जवाब देने का तरीका बताया गया है.

कमांड की मदद से, उपयोगकर्ता किसी Chat ऐप्लिकेशन की मुख्य सुविधाओं के बारे में जान सकते हैं और उनका इस्तेमाल कर सकते हैं. किसी कमांड का कॉन्टेंट सिर्फ़ Chat ऐप्लिकेशन देख सकते हैं. उदाहरण के लिए, अगर कोई उपयोगकर्ता स्लैश कमांड का इस्तेमाल करके कोई मैसेज भेजता है, तो वह मैसेज सिर्फ़ उस उपयोगकर्ता और Chat ऐप्लिकेशन को दिखता है.

आपको कमांड बनानी चाहिए या नहीं, यह तय करने के लिए उपयोगकर्ता के सभी चरणों को तय करें लेख पढ़ें. इसमें उपयोगकर्ता के इंटरैक्शन को डिज़ाइन करने का तरीका भी बताया गया है.

Chat ऐप्लिकेशन में उपलब्ध स्लैश कमांड के टाइप

Chat ऐप्लिकेशन के लिए, स्लैश कमांड या क्विक कमांड बनाई जा सकती हैं. हर तरह की कमांड ढूंढने और उनका इस्तेमाल करने के लिए, उपयोगकर्ता ये काम करते हैं:
  1. स्लैश कमांड: उपयोगकर्ता, स्लैश (/) टाइप करके और फिर पहले से तय किया गया टेक्स्ट, जैसे कि /about टाइप करके मैसेज के तौर पर कमांड भेजते हैं. चैट ऐप्लिकेशन को स्लैश कमांड के लिए, आर्ग्युमेंट टेक्स्ट की भी ज़रूरत पड़ सकती है. उदाहरण के लिए, स्लैश कमांड /search के लिए, खोज क्वेरी में इस्तेमाल किया जाने वाला टेक्स्ट आर्ग्युमेंट ज़रूरी हो सकता है.
  2. क्विक कमांड: उपयोगकर्ता, Chat मैसेज के जवाब वाले सेक्शन से मेन्यू खोलकर कमांड का इस्तेमाल करते हैं. किसी कमांड का इस्तेमाल करने के लिए, वे जोड़ें पर क्लिक करते हैं और मेन्यू से कोई कमांड चुनते हैं.
इन इमेज में दिखाया गया है कि उपयोगकर्ता, स्लैश कमांड और क्विक कमांड के मेन्यू को कैसे ढूंढते हैं:
  • कोई उपयोगकर्ता स्लैश कमांड ढूंढता है.
    पहली इमेज. उपयोगकर्ता, स्लैश कमांड को खोजते हैं और उनका इस्तेमाल करते हैं. इसके लिए, वे जवाब देने वाले बॉक्स में स्लैश / टाइप करते हैं. इसके बाद, वे कमांड का नाम टाइप करते हैं.
  • कोई उपयोगकर्ता मेन्यू से क्विक कमांड देखता है.
    दूसरी इमेज. उपयोगकर्ता, Chat मैसेज के जवाब देने वाले बॉक्स में मौजूद मेन्यू से, क्विक कमांड ढूंढते हैं और उनका इस्तेमाल करते हैं.

ज़रूरी शर्तें

HTTP

Google Workspace ऐड-ऑन, जो Google Chat की सुविधाओं को बढ़ाता है. इसे बनाने के लिए, एचटीटीपी क्विकस्टार्ट पूरा करें.

Apps Script

Google Workspace ऐड-ऑन, जो Google Chat की सुविधाओं को बढ़ाता है. इसे बनाने के लिए, Apps Script की क्विकस्टार्ट गाइड पढ़ें.

कमांड सेट अप करना

इस सेक्शन में, कमांड सेट अप करने के लिए यहां दिए गए चरणों को पूरा करने का तरीका बताया गया है:

  1. कमांड के लिए नाम और जानकारी बनाएं.
  2. Google Cloud Console में कमांड कॉन्फ़िगर करें.

कमांड का नाम और ब्यौरा दें

किसी कमांड का नाम वह होता है जिसे उपयोगकर्ता, 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 Chat API में किसी स्लैश कमांड को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:

  1. Google Cloud Console में, मेन्यू &gt एपीआई और सेवाएं &gt चालू किए गए एपीआई और सेवाएं &gt Google Chat API पर क्लिक करें

    Google Chat API पेज पर जाएं

  2. कॉन्फ़िगरेशन पर क्लिक करें.

  3. कनेक्शन की सेटिंग में जाकर, ट्रिगर पर जाएं और अपने एंडपॉइंट की जानकारी दें. कमांड का जवाब देने के लिए, आपको इस ट्रिगर का इस्तेमाल करना होगा.

    1. एचटीटीपी एंडपॉइंट यूआरएल: यहां एक सामान्य एचटीटीपी एंडपॉइंट यूआरएल दिया जा सकता है. इसके अलावा, अलग-अलग ट्रिगर के लिए अलग-अलग एचटीटीपी एंडपॉइंट इस्तेमाल करने के लिए, ऐप्लिकेशन कमांड फ़ील्ड में सीधे तौर पर एंडपॉइंट डालें.
    2. Apps Script: Apps Script का डिप्लॉयमेंट आईडी डालें. डिफ़ॉल्ट रूप से, onAppCommand फ़ंक्शन लागू होगा. किसी दूसरे Apps Script फ़ंक्शन का इस्तेमाल करने के लिए, ऐप्लिकेशन कमांड फ़ील्ड में कस्टम फ़ंक्शन का नाम डालें.
  4. निर्देश में जाकर, कोई निर्देश जोड़ें पर क्लिक करें.

  5. कमांड के बारे में यह जानकारी डालें:

    1. कमांड आईडी: यह 1 से 1,000 के बीच का एक नंबर होता है. इसका इस्तेमाल Chat ऐप्लिकेशन, कमांड की पहचान करने और जवाब देने के लिए करता है.
    2. जानकारी: वह टेक्स्ट जिसमें कमांड को इस्तेमाल करने और फ़ॉर्मैट करने का तरीका बताया गया हो. ब्यौरे में ज़्यादा से ज़्यादा 50 वर्ण हो सकते हैं.
    3. कमांड टाइप: क्विक कमांड या स्लैश कमांड में से कोई एक विकल्प चुनें.
    4. क्विक कमांड या स्लैश कमांड के लिए कोई नाम तय करें:
      • क्विक कमांड का नाम: यह वह डिसप्ले नेम होता है जिसे उपयोगकर्ता, कमांड शुरू करने के लिए मेन्यू से चुनते हैं. इसमें ज़्यादा से ज़्यादा 50 वर्ण हो सकते हैं. साथ ही, इसमें खास वर्ण भी शामिल किए जा सकते हैं. उदाहरण के लिए, Remind me.
      • स्लैश कमांड का नाम: यह वह टेक्स्ट होता है जिसे उपयोगकर्ता, मैसेज में कमांड को चालू करने के लिए टाइप करते हैं. यह स्लैश से शुरू होना चाहिए. इसमें सिर्फ़ टेक्स्ट होना चाहिए. साथ ही, इसमें ज़्यादा से ज़्यादा 50 वर्ण हो सकते हैं. उदाहरण के लिए, /remindMe.
  6. ज़रूरी नहीं: अगर आपको Chat ऐप्लिकेशन से किसी कमांड का जवाब डायलॉग बॉक्स में पाना है, तो डायलॉग बॉक्स खोलें चेकबॉक्स को चुनें.

  7. सेव करें पर क्लिक करें.

यह कमांड अब Chat ऐप्लिकेशन के लिए कॉन्फ़िगर हो गई है.

किसी कमांड का जवाब देना

जब उपयोगकर्ता किसी कमांड का इस्तेमाल करते हैं, तो आपके Chat ऐप्लिकेशन को इवेंट ऑब्जेक्ट मिलता है. इवेंट पेलोड में एक appCommandPayload ऑब्जेक्ट होता है. इसमें शुरू की गई कमांड के बारे में जानकारी होती है. जैसे, कमांड आईडी और कमांड टाइप. इससे आपको सही जवाब देने में मदद मिलती है. इवेंट ऑब्जेक्ट को उस एचटीटीपी एंडपॉइंट या Apps Script फ़ंक्शन पर भेजा जाता है जिसे आपने ऐप्लिकेशन कमांड ट्रिगर को कॉन्फ़िगर करते समय तय किया था.

Cymbal Labs Chat ऐप्लिकेशन के लिए निजी मैसेज. मैसेज में बताया गया है कि Chat ऐप्लिकेशन को Cymbal Labs ने बनाया है. इसमें दस्तावेज़ का लिंक और सहायता टीम से संपर्क करने का लिंक भी दिया गया है.
Chat ऐप्लिकेशन, सहायता पाने का तरीका बताने के लिए, स्लैश कमांड /help का जवाब निजी तौर पर देता है.

यहां दिए गए कोड में, Chat ऐप्लिकेशन का एक उदाहरण दिखाया गया है. यह ऐप्लिकेशन, /about स्लैश कमांड का जवाब टेक्स्ट मैसेज से देता है. स्लैश कमांड का जवाब देने के लिए, Chat ऐप्लिकेशन ऐप्लिकेशन कमांड ट्रिगर से इवेंट ऑब्जेक्ट मैनेज करता है. जब किसी इवेंट ऑब्जेक्ट के पेलोड में स्लैश कमांड आईडी होता है, तो Chat ऐप्लिकेशन, createMessageAction ऑब्जेक्ट के साथ DataActions ऐक्शन दिखाता है:

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

/**
 * 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 events that contain payloads about commands
    if (chatEvent.appCommandPayload) {

      // Stores the Google Chat app command metadata as a variable.
      const appCommandMetadata = chatEvent.appCommandPayload.appCommandMetadata;

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

/**
 * 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;

  // 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 में कमांड कॉन्फ़िगर करते समय डाला था.

निर्देश की जांच करना

कमांड और कोड की जांच करने के लिए, Google Chat ऐप्लिकेशन के लिए इंटरैक्टिव सुविधाओं की जांच करना लेख पढ़ें.

Chat के यूज़र इंटरफ़ेस (यूआई) में कमांड को टेस्ट करने और इस्तेमाल करने का तरीका जानने के लिए, Google Chat के सहायता दस्तावेज़ में Google Chat में ऐप्लिकेशन इस्तेमाल करना लेख पढ़ें.