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

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

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

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

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

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

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

Node.js

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

Apps Script

Google Chat ऐप्लिकेशन, जो इंटरैक्शन इवेंट को पाने और उनका जवाब देने का काम करता है. Apps Script में इंटरैक्टिव Chat ऐप्लिकेशन बनाने के लिए, यह क्विकस्टार्ट पूरा करें.

Python

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

Java

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

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

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

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

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

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

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

  3. निर्देश में जाकर, कोई निर्देश जोड़ें पर क्लिक करें.

  4. कमांड के लिए, कमांड आईडी, जानकारी, कमांड टाइप, और नाम डालें:

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

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

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

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

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

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

हर तरह की कमांड का जवाब देने के लिए, आपको इवेंट पेलोड में अलग-अलग इवेंट टाइप और मेटाडेटा ऑब्जेक्ट मैनेज करने होंगे:

कमांड का टाइप इवेंट किस तरह का है कमांड का मेटाडेटा
स्लैश कमांड MESSAGE message.slashCommand या message.annotation.slashCommand
फ़टाफ़ट निर्देश APP_COMMAND appCommandMetadata

मैसेज के ज़रिए किसी कमांड का जवाब देने का तरीका जानने के लिए, यहां दिया गया सेक्शन देखें.

स्लैश कमांड का जवाब देना

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

Node.js

node/avatar-app/index.js
/**
 * Handles slash and quick commands.
 *
 * @param {Object} event - The Google Chat event.
 * @param {Object} res - The HTTP response object.
 */
function handleAppCommands(event, res) {
  const {appCommandId, appCommandType} = event.appCommandMetadata;

  switch (appCommandId) {
    case ABOUT_COMMAND_ID:
      return res.send({
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      });
    case HELP_COMMAND_ID:
      return res.send({
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      });
  }
}

Apps Script

apps-script/avatar-app/avatar-app.gs
// Checks for the presence of a slash command in the message.
if (event.message.slashCommand) {
  // Executes the slash command logic based on its ID.
  // Slash command IDs are set in the Google Chat API configuration.
  switch (event.message.slashCommand.commandId) {
    case ABOUT_COMMAND_ID:
      return {
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      };
  }
}

Python

python/avatar-app/main.py
def handle_app_commands(event: Mapping[str, Any]) -> Mapping[str, Any]:
    """Handles slash and quick commands.

    Args:
        Mapping[str, Any] event: The Google Chat event.

    Returns:
        Mapping[str, Any]: the response
    """
    app_command_id = event["appCommandMetadata"]["appCommandId"]

    if app_command_id == ABOUT_COMMAND_ID:
        return {
            "privateMessageViewer": event["user"],
            "text": "The Avatar app replies to Google Chat messages.",
        }
    elif app_command_id == HELP_COMMAND_ID:
        return {
            "privateMessageViewer": event["user"],
            "text": "The Avatar app replies to Google Chat messages.",
        }
    return {}

Java

java/avatar-app/src/main/java/AvatarApp.java
/**
 * Handles slash and quick commands.
 *
 * @param event    The Google Chat event.
 * @param response The HTTP response object.
 */
private void handleAppCommands(JsonObject event, HttpResponse response) throws Exception {
  int appCommandId = event.getAsJsonObject("appCommandMetadata").get("appCommandId").getAsInt();

  switch (appCommandId) {
    case ABOUT_COMMAND_ID:
      Message aboutMessage = new Message();
      aboutMessage.setText("The Avatar app replies to Google Chat messages.");
      aboutMessage.setPrivateMessageViewer(new User()
          .setName(event.getAsJsonObject("user").get("name").getAsString()));
      response.getWriter().write(gson.toJson(aboutMessage));
      return;
    case HELP_COMMAND_ID:
      Message helpMessage = new Message();
      helpMessage.setText("The Avatar app replies to Google Chat messages.");
      helpMessage.setPrivateMessageViewer(new User()
          .setName(event.getAsJsonObject("user").get("name").getAsString()));
      response.getWriter().write(gson.toJson(helpMessage));
      return;
  }
}

ABOUT_COMMAND_ID की जगह, वह कमांड आईडी डालें जिसे आपने Google Cloud Console में कमांड कॉन्फ़िगर करते समय डाला था.

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

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

Node.js

node/avatar-app/index.js
/**
 * Handles slash and quick commands.
 *
 * @param {Object} event - The Google Chat event.
 * @param {Object} res - The HTTP response object.
 */
function handleAppCommands(event, res) {
  const {appCommandId, appCommandType} = event.appCommandMetadata;

  switch (appCommandId) {
    case ABOUT_COMMAND_ID:
      return res.send({
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      });
    case HELP_COMMAND_ID:
      return res.send({
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      });
  }
}

Apps Script

apps-script/avatar-app/avatar-app.gs
/**
 * Handles the APP_COMMAND event type. This function is triggered when a user
 * interacts with a quick command within the Google Chat app.  It responds
 * based on the command ID.
 *
 * @param {Object} event The event object from Google Chat, containing details
 *     about the app command interaction.  It includes information like the
 *     command ID and the user who triggered it.
 */
function onAppCommand(event) {
  // Executes the quick command logic based on its ID.
  // Command IDs are set in the Google Chat API configuration.
  switch (event.appCommandMetadata.appCommandId) {
    case HELP_COMMAND_ID:
      return {
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      };
  }
}

Python

python/avatar-app/main.py
def handle_app_commands(event: Mapping[str, Any]) -> Mapping[str, Any]:
    """Handles slash and quick commands.

    Args:
        Mapping[str, Any] event: The Google Chat event.

    Returns:
        Mapping[str, Any]: the response
    """
    app_command_id = event["appCommandMetadata"]["appCommandId"]

    if app_command_id == ABOUT_COMMAND_ID:
        return {
            "privateMessageViewer": event["user"],
            "text": "The Avatar app replies to Google Chat messages.",
        }
    elif app_command_id == HELP_COMMAND_ID:
        return {
            "privateMessageViewer": event["user"],
            "text": "The Avatar app replies to Google Chat messages.",
        }
    return {}

Java

java/avatar-app/src/main/java/AvatarApp.java
/**
 * Handles slash and quick commands.
 *
 * @param event    The Google Chat event.
 * @param response The HTTP response object.
 */
private void handleAppCommands(JsonObject event, HttpResponse response) throws Exception {
  int appCommandId = event.getAsJsonObject("appCommandMetadata").get("appCommandId").getAsInt();

  switch (appCommandId) {
    case ABOUT_COMMAND_ID:
      Message aboutMessage = new Message();
      aboutMessage.setText("The Avatar app replies to Google Chat messages.");
      aboutMessage.setPrivateMessageViewer(new User()
          .setName(event.getAsJsonObject("user").get("name").getAsString()));
      response.getWriter().write(gson.toJson(aboutMessage));
      return;
    case HELP_COMMAND_ID:
      Message helpMessage = new Message();
      helpMessage.setText("The Avatar app replies to Google Chat messages.");
      helpMessage.setPrivateMessageViewer(new User()
          .setName(event.getAsJsonObject("user").get("name").getAsString()));
      response.getWriter().write(gson.toJson(helpMessage));
      return;
  }
}

HELP_COMMAND_ID की जगह, वह कमांड आईडी डालें जिसे आपने Google Cloud Console में कमांड कॉन्फ़िगर करते समय डाला था.

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

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

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