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

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

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

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

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

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

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

Node.jsApps ScriptPythonJava

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

Google Chat ऐप्लिकेशन, जिसमें इंटरैक्टिव सुविधाएं चालू हों. Apps Script में इंटरैक्टिव Chat ऐप्लिकेशन बनाने के लिए, यह शुरुआती लेख पढ़ें.

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

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

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

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

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

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

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

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

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

  4. निर्देश के लिए निर्देश आईडी, नाम, ब्यौरा, और निर्देश का टाइप डालें:

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

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

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

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

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

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

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

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

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

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

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

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/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/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/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 ऐप्लिकेशन का एक उदाहरण दिखाता है. यह सहायता क्विक कमांड का जवाब देता है. चैट ऐप्लिकेशन, APP_COMMAND इंटरैक्शन इवेंट को मैनेज करता है. साथ ही, यह पता लगाता है कि इंटरैक्शन इवेंट में मैच करने वाला कमांड आईडी मौजूद है या नहीं. इसके बाद, यह निजी मैसेज दिखाता है:

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