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

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

  1. Google Cloud कंसोल में, मेनू > API और सेवाएँ > सक्षम API और सेवाएँ > Google Chat API पर क्लिक करें

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

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

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

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

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

नीचे दिए गए कोड में ऐसे चैट ऐप्लिकेशन का उदाहरण दिया गया है जो मैसेज के साथ स्लैश कमांड /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 = 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 }
                        }]
                    }]
                }
            }]
        }}}}});
    }
};

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;

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