Google Chat इस्तेमाल करने वालों को निजी मैसेज भेजना

इस पेज पर, Google Chat ऐप्लिकेशन में निजी मैसेज बनाने और भेजने का तरीका बताया गया है.

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

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

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

Cymbal Labs चैट ऐप्लिकेशन के लिए निजी मैसेज.
 इस मैसेज में बताया गया है कि
 Chat ऐप्लिकेशन को Cymbal Labs ने बनाया है. साथ ही, इसमें सहायता टीम से संपर्क करने के लिए, दस्तावेज़ और
 एक लिंक भी दिया गया है.
पहली इमेज: जब कोई Chat ऐप्लिकेशन निजी मैसेज भेजता है, तो उपयोगकर्ता को Only visible to you लेबल वाला एक मैसेज दिखता है.

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

Node.js

  • ऐसा Google Cloud प्रोजेक्ट जिसमें Google Chat API चालू हो और उसे कॉन्फ़िगर किया गया हो. तरीका जानने के लिए, Google Chat ऐप्लिकेशन बनाना देखें.
  • स्लैश कमांड का निजी तौर पर जवाब देने के लिए, Chat ऐप्लिकेशन के लिए कॉन्फ़िगर किया गया एक स्लैश कमांड होता है. इसे बनाने के लिए, स्लैश कमांड का जवाब देना लेख पढ़ें.
  • messages.create() तरीके का इस्तेमाल करके निजी मैसेज भेजने के लिए, आपको ऐप्लिकेशन की पुष्टि करने की सुविधा का इस्तेमाल करना होगा.

ध्यान दें: इस गाइड में दिए गए Node.js कोड सैंपल को Google Cloud फ़ंक्शन के तौर पर इस्तेमाल करने के लिए लिखा गया है.

Python

  • ऐसा Google Cloud प्रोजेक्ट जिसमें Google Chat API चालू हो और उसे कॉन्फ़िगर किया गया हो. तरीका जानने के लिए, Google Chat ऐप्लिकेशन बनाना देखें.
  • स्लैश कमांड का निजी तौर पर जवाब देने के लिए, Chat ऐप्लिकेशन के लिए कॉन्फ़िगर किया गया एक स्लैश कमांड होता है. इसे बनाने के लिए, स्लैश कमांड का जवाब देना लेख पढ़ें.
  • messages.create() तरीके का इस्तेमाल करके निजी मैसेज भेजने के लिए, आपको ऐप्लिकेशन की पुष्टि करने की सुविधा का इस्तेमाल करना होगा.

ध्यान दें: इस गाइड में दिए गए Python कोड सैंपल, Python 3.10 का इस्तेमाल करके Google Cloud फ़ंक्शन के तौर पर चलाने के लिए लिखे गए हैं.

Apps Script

  • Chat ऐप्लिकेशन. Chat ऐप्लिकेशन बनाने के लिए, इस quickstart को अपनाएं.
  • स्लैश कमांड का निजी तौर पर जवाब देने के लिए, Chat ऐप्लिकेशन के लिए कॉन्फ़िगर किया गया एक स्लैश कमांड होता है. इसे बनाने के लिए, स्लैश कमांड का जवाब देना लेख पढ़ें.
  • messages.create() तरीके का इस्तेमाल करके निजी मैसेज भेजने के लिए, आपको ऐप्लिकेशन की पुष्टि करने की सुविधा का इस्तेमाल करना होगा.

निजी मैसेज भेजें

Chat ऐप्लिकेशन के तौर पर निजी तौर पर मैसेज भेजने के लिए, आपको मैसेज बनाते समय उसमें privateMessageViewer फ़ील्ड के बारे में बताना होता है. निजी मैसेज वैसे ही बनाए जाते हैं, जैसे कोई मैसेज तैयार किए जाते हैं. इसके लिए, या तो किसी उपयोगकर्ता के इंटरैक्शन का जवाब दिया जाता है या Message संसाधन पर Google Chat API के create() तरीके को एसिंक्रोनस रूप से कॉल किया जाता है. मैसेज या कार्ड मैसेज भेजने का तरीका जानने के लिए, मैसेज भेजना देखें.

इस उदाहरण में, निजी मैसेज के लिए JSON दिखाया गया है, जिसमें Hello private world! लिखा है:

{
    "text": "Hello private world!",
    "privateMessageViewer": "USER"
}

इस उदाहरण में, USER से Chat का इस्तेमाल करने वाले उस व्यक्ति के बारे में पता चलता है जो User संसाधन के तौर पर फ़ॉर्मैट किया गया मैसेज देख सकता है. किसी उपयोगकर्ता के इंटरैक्शन का जवाब देने पर, आपके पास इंटरैक्शन इवेंट से User ऑब्जेक्ट तय करने का विकल्प होता है. उदाहरण के लिए, यह सेक्शन देखें स्लैश कमांड का निजी तौर पर जवाब देना.

इसके अलावा, अगर आपको निजी मैसेज के लिए व्यूअर की जानकारी देनी है, तो User संसाधन के name फ़ील्ड का इस्तेमाल करें:

{
    "text": "Hello private world!",
    "privateMessageViewer": {
      "name": "users/USER_ID"
    }
}

इस उदाहरण में, name फ़ील्ड का इस्तेमाल करके, Google Chat में दर्शक के User के संसाधन का नाम बताया जा सकता है. उपयोगकर्ता के लिए USER_ID को किसी यूनीक आईडी, जैसे कि 12345678987654321 या hao@cymbalgroup.com से बदलें.

उपयोगकर्ताओं की जानकारी देने के बारे में ज़्यादा जानने के लिए, Google Chat के उपयोगकर्ताओं की पहचान करना और उनके बारे में बताना देखें.

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

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

Chat ऐप्लिकेशन MESSAGE इंटरैक्शन इवेंट को प्रोसेस करता है. साथ ही, /help स्लैश कमांड का जवाब एक निजी टेक्स्ट मैसेज के साथ देता है. इसमें बताया जाता है कि इसे कैसे इस्तेमाल किया जा सकता है:

Node.js

/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {!Object} req Request sent from Google Chat app
* @param {!Object} res Response to send back
*
* @return {!Object} respond to slash command
*/
exports.onMessage = function onMessage(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    return res.send('Hello! This function is meant to be used in Google Chat app.');
  }

  const event = req.body;

  // Checks for the presence of event.message.slashCommand.
  // If the slash command is "/help", responds with a private text message.
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case '1':  // /help
        return res.json({
          privateMessageViewer: event.user,
          text: 'This Chat app was created by Cymbal Labs. To get help with this app, <https://cymbalgroup.com/docs|see our documentation> or <https://cymbalgroup.com/support|contact our support team>.'
        });
    }
  }

  // If the Chat app doesn't detect a slash command, it responds
  // with a private text message
  return res.json({
    privateMessageViewer: event.user,
    text: 'Try a slash command.'
  });
};

Apps Script

/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {Object} event the event object from Google Chat
*/
function onMessage(event) {
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case 1: // Responds to /help
        return {
          "privateMessageViewer": event.user,
          "text": "This Chat app was created by Cymbal Labs. To get help with this app, <https://cymbalgroup.com/docs|see our documentation> or <https://cymbalgroup.com/support|contact our support team>."
        };
    }
  }
  else {
    return { "text": "Try a slash command.", "privateMessageViewer": event.user };
  }
}

Python

from typing import Any, Mapping

import flask
import functions_framework

@functions_framework.http
def main(req: flask.Request) -> Mapping[str, Any]:
  """Responds to a MESSAGE event in Google Chat.

  Args:
      req (flask.Request): the event object from Chat API.

  Returns:
      Mapping[str, Any]: open a Dialog in response to a card's button click.
  """
  if req.method == 'GET':
    return 'Hello! This function must be called from Google Chat.'

  request = req.get_json(silent=True)

  # Checks for the presence of event.message.slashCommand.
  # If the slash command is "/help", responds with a private text message.
  if request.get('message', {}).get('slashCommand'):
    command_id = request.get('message', {}).get('slashCommand').get('commandId')
    if command_id == '1':  # /help
      return {
          'privateMessageViewer': request.get('user'),
          'text': (
              'This Chat app was created by Cymbal Labs. To get help with this'
              ' app, <https://cymbalgroup.com/docs|see our documentation> or'
              ' <https://cymbalgroup.com/support|contact our support team>.'
          ),
      }

  return {
      'privateMessageViewer': request.get('user'),
      'text': 'Try a slash command.',
  }

सीमाएं

निजी मैसेज भेजने के लिए, मैसेज में ये चीज़ें शामिल नहीं हो सकती हैं या उनका इस्तेमाल नहीं किया जा सकता है:

  • अटैचमेंट.
  • ऐक्सेसरी ऐक्शन.
  • कुछ हद तक निजी मैसेज. उदाहरण के लिए, कोई Chat ऐप्लिकेशन उस टेक्स्ट या कार्ड के साथ मैसेज नहीं भेज सकता जिसमें टेक्स्ट सिर्फ़ एक उपयोगकर्ता को दिखता हो, लेकिन कार्ड स्पेस में मौजूद सभी लोगों को दिखता हो.
  • उपयोगकर्ता की पुष्टि करना. सिर्फ़ Chat ऐप्लिकेशन निजी मैसेज भेज सकते हैं. इसलिए, आपका Chat ऐप्लिकेशन निजी तौर पर मैसेज भेजने के लिए, उपयोगकर्ता के तौर पर पुष्टि नहीं कर सकता.

निजी मैसेज अपडेट करना या मिटाना

Google Chat के मैसेज अपडेट करने या मिटाने के लिए, आपको Chat API को कॉल करना होगा. आप निजी मैसेज का व्यूअर नहीं बदल सकते या मैसेज को सार्वजनिक नहीं कर सकते. इसलिए, निजी मैसेज अपडेट करते समय, आपको एपीआई कॉल में privateMessageViewer फ़ील्ड को छोड़ देना चाहिए (यह फ़ील्ड सिर्फ़ आउटपुट के लिए है).

निजी मैसेज को अपडेट करने के लिए, मैसेज अपडेट करें देखें. निजी मैसेज मिटाने के लिए, मैसेज मिटाएं देखें.