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

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

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

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

Chat ऐप्लिकेशन के लिए कमांड के टाइप

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

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

HTTP Apps Script

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

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

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

निर्देश का नाम और उसके बारे में जानकारी

कमांड का नाम वह होता है जिसे उपयोगकर्ता Chat ऐप्लिकेशन को चालू करने के लिए टाइप करते हैं या चुनते हैं. नाम के नीचे कम शब्दों में जानकारी भी दिखती है, ताकि उपयोगकर्ताओं को कमांड के इस्तेमाल के बारे में ज़्यादा जानकारी मिल सके:

स्लैश कमांड का नाम और जानकारी
तीसरी इमेज: स्लैश कमांड का नाम और ब्यौरा.

अपने निर्देश के लिए नाम और ब्यौरा चुनते समय, इन सुझावों का ध्यान रखें:

किसी निर्देश को नाम देने के लिए:

  • उपयोगकर्ता को निर्देशों को साफ़ तौर पर समझाने के लिए, छोटे, जानकारी देने वाले, और काम के शब्दों या वाक्यांशों का इस्तेमाल करें. उदाहरण के लिए, Create a reminder के बजाय, Remind me का इस्तेमाल करें.
  • अपने निर्देश के लिए कोई यूनीक या सामान्य नाम इस्तेमाल करें. अगर आपके निर्देश में किसी सामान्य इंटरैक्शन या सुविधा के बारे में बताया गया है, तो किसी ऐसे सामान्य नाम का इस्तेमाल किया जा सकता है जिसे उपयोगकर्ता पहचानते हों और जिसकी उम्मीद रखते हों. जैसे, Settings या Feedback. इसके अलावा, निर्देशों के लिए यूनीक नाम इस्तेमाल करें. ऐसा इसलिए, क्योंकि अगर आपके निर्देश का नाम, चैट के दूसरे ऐप्लिकेशन के निर्देशों के नाम से मेल खाता है, तो उपयोगकर्ता को आपके निर्देश को ढूंढने और इस्तेमाल करने के लिए, मिलते-जुलते निर्देशों को फ़िल्टर करना होगा.

किसी निर्देश के बारे में बताने के लिए:

  • जानकारी को कम और साफ़ शब्दों में रखें, ताकि उपयोगकर्ताओं को यह पता चल सके कि कमांड का इस्तेमाल करने पर उन्हें क्या मिलेगा.
  • उपयोगकर्ताओं को बताएं कि कमांड के लिए फ़ॉर्मैट करने से जुड़ी कोई ज़रूरी शर्त है या नहीं. उदाहरण के लिए, अगर आपने ऐसा स्लैश कमांड बनाया है जिसमें आर्ग्युमेंट टेक्स्ट की ज़रूरत है, तो ब्यौरे को 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 में कोई निर्देश कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं: o Google Chat API में स्लैश निर्देश कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:

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

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

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

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

  4. कमांड में जाकर, कोई कमांड जोड़ें पर क्लिक करें.

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

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

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

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

किसी निर्देश का जवाब देना

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

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

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

Node.js 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;

/**
 * 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 }
                        }]
                    }]
                }
            }]
        }}}}});
    }
};
// 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;

  // 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 में ऐप्लिकेशन इस्तेमाल करना देखें.