একটি বার্তা পাঠান

এই নির্দেশিকা ব্যাখ্যা করে যে বিভিন্ন উপায়ে Google Chat অ্যাপ মেসেজ পাঠাতে পারে:

  • ব্যবহারকারীর ইন্টারঅ্যাকশনে সাড়া দিয়ে রিয়েল টাইমে টেক্সট এবং কার্ড বার্তা পাঠান।
  • Message রিসোর্সে create পদ্ধতিতে কল করে অসিঙ্ক্রোনাসভাবে টেক্সট এবং কার্ড বার্তা পাঠান।
  • একটি বার্তা থ্রেড শুরু করুন বা উত্তর দিন।
  • একটি বার্তা পাঠান এবং নাম দিন।

Message সংস্থান Google চ্যাটে একটি পাঠ্য বা কার্ড বার্তা উপস্থাপন করে। আপনি সংশ্লিষ্ট পদ্ধতিতে কল করে Google Chat API-এ একটি বার্তা create , get , update বা delete পারেন। টেক্সট এবং কার্ড মেসেজ সম্পর্কে আরও জানতে, Google Chat মেসেজ ওভারভিউ দেখুন।

সর্বাধিক বার্তা আকার (যেকোন পাঠ্য বা কার্ড সহ) হল 32,000 বাইট। যদি একটি বার্তা এই আকার অতিক্রম করে, আপনার চ্যাট অ্যাপ পরিবর্তে একাধিক বার্তা পাঠাতে পারে।

অ্যাসিঙ্ক্রোনাসভাবে টেক্সট বা কার্ড মেসেজ পাঠানোর জন্য Google Chat API-এর Message রিসোর্সে create মেথড কল করার পরিবর্তে, Google Chat অ্যাপগুলি রিয়েল টাইমে ব্যবহারকারীর ইন্টারঅ্যাকশনের প্রতিক্রিয়া জানাতে বার্তা তৈরি করতে পারে। ব্যবহারকারীর মিথস্ক্রিয়াগুলির প্রতিক্রিয়াগুলির জন্য প্রমাণীকরণের প্রয়োজন হয় না এবং ইন্টারেক্টিভ ডায়ালগ এবং লিঙ্কের পূর্বরূপ সহ অন্যান্য ধরণের বার্তাগুলিকে সমর্থন করে। বিশদ বিবরণের জন্য, আপনার Google Chat অ্যাপের সাথে ইন্টারঅ্যাকশন গ্রহণ এবং প্রতিক্রিয়া দেখুন।

পূর্বশর্ত

Node.js

পাইথন

  • Google Chat- এ অ্যাক্সেস সহ একটি Google Workspace অ্যাকাউন্ট।
  • পাইথন 3.6 বা তার বেশি
  • পাইপ প্যাকেজ ম্যানেজমেন্ট টুল
  • পাইথনের জন্য সর্বশেষ Google ক্লায়েন্ট লাইব্রেরি। এগুলি ইনস্টল বা আপডেট করতে, আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:

    pip3 install --upgrade google-api-python-client google-auth
    
  • Google Chat API সক্ষম এবং কনফিগার করা একটি Google ক্লাউড প্রকল্প। ধাপগুলির জন্য, একটি Google Chat অ্যাপ তৈরি করুন দেখুন।
  • অ্যাসিঙ্ক্রোনাস মেসেজ পাঠানোর জন্য চ্যাট অ্যাপের জন্য অনুমোদন কনফিগার করা হয়েছে। রিয়েল টাইমে বার্তা পাঠাতে কোনো অনুমোদনের কনফিগারেশনের প্রয়োজন নেই।

অ্যাপস স্ক্রিপ্ট

পাঠ্য বার্তা পাঠান

এই বিভাগে নিম্নলিখিত দুটি উপায়ে কিভাবে পাঠ্য বার্তা পাঠাতে হয় তা বর্ণনা করে:

  • ব্যবহারকারীর মিথস্ক্রিয়ায় প্রতিক্রিয়া জানিয়ে রিয়েল টাইমে একটি পাঠ্য বার্তা পাঠান।
  • অ্যাসিঙ্ক্রোনাসভাবে Google Chat API কল করে একটি পাঠ্য বার্তা পাঠান।

রিয়েল টাইমে একটি পাঠ্য বার্তা পাঠান

এই উদাহরণে, আপনার চ্যাট অ্যাপ যখনই একটি স্পেস যোগ করা হয় তখন এটি একটি পাঠ্য বার্তা তৈরি করে এবং পাঠায়। অনবোর্ডিং ব্যবহারকারীদের জন্য সর্বোত্তম অনুশীলন সম্পর্কে জানতে, সহায়ক অনবোর্ডিং দিয়ে শুরু করা লোক এবং স্পেস দেখুন।

একটি টেক্সট মেসেজ পাঠানোর জন্য যখন কোনো ব্যবহারকারী আপনার চ্যাট অ্যাপকে একটি স্পেসে যোগ করে, আপনার চ্যাট অ্যাপটি একটি ADDED_TO_SPACE ইন্টারঅ্যাকশন ইভেন্টে সাড়া দেয়। একটি পাঠ্য বার্তার সাথে ADDED_TO_SPACE ইন্টারঅ্যাকশন ইভেন্টগুলিতে প্রতিক্রিয়া জানাতে, নিম্নলিখিত কোডটি ব্যবহার করুন:

Node.js

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app. An onboarding message that
 * introduces the app and helps people get started with it.
 */
exports.onMessage = function onMessage(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    res.send(
      'Hello! This function is meant to be used in a Google Chat space.');
  }

  // Send an onboarding message when added to a Chat space
  if (req.body.type === 'ADDED_TO_SPACE') {
    res.json({
      'text': 'Hi, Cymbal at your service. I help you manage your calendar
      from Google Chat. Take a look at your schedule today by typing
      `/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To
      learn what else I can do, type `/help`.'
    });
  }
};

অ্যাপস স্ক্রিপ্ট

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app. An onboarding message that
 * introduces the app and helps people get started with it.
 */
function onAddToSpace(event) {

  return {
    'text': 'Hi, Cymbal at your service. I help you manage your calendar
    from Google Chat. Take a look at your schedule today by typing
    `/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn
    what else I can do, type `/help`.'
  }
}

কোড নমুনা নিম্নলিখিত পাঠ্য বার্তা প্রদান করে:

অনবোর্ডিং বার্তার উদাহরণ।

অ্যাসিঙ্ক্রোনাসভাবে একটি পাঠ্য বার্তা পাঠান

নিম্নলিখিত বিভাগটি ব্যাখ্যা করে যে কীভাবে অ্যাপ প্রমাণীকরণ এবং ব্যবহারকারীর প্রমাণীকরণের সাথে অসিঙ্ক্রোনাসভাবে একটি পাঠ্য বার্তা পাঠাতে হয়।

একটি পাঠ্য বার্তা পাঠাতে, আপনার অনুরোধে নিম্নলিখিতটি পাস করুন:

  • অ্যাপ প্রমাণীকরণের সাথে, chat.bot অনুমোদনের সুযোগ নির্দিষ্ট করুন। ব্যবহারকারীর প্রমাণীকরণের সাথে, chat.messages.create অনুমোদনের সুযোগ নির্দিষ্ট করুন।
  • Message রিসোর্সে create পদ্ধতিতে কল করুন।

অ্যাপ প্রমাণীকরণ সহ একটি পাঠ্য বার্তা পাঠান

অ্যাপ প্রমাণীকরণের সাথে কীভাবে একটি পাঠ্য বার্তা পাঠাতে হয় তা এখানে:

পাইথন

  1. আপনার কাজের ডিরেক্টরিতে, chat_create_text_message_app.py নামে একটি ফাইল তৈরি করুন।
  2. chat_create_text_message_app.py এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Create a Chat message.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # The message to create.
        body={'text': 'Hello, world!'}
    
    ).execute()
    
    print(result)
    
  3. কোডে, একটি স্পেস নাম দিয়ে SPACE প্রতিস্থাপন করুন, যা আপনি Chat API-এর spaces.list() পদ্ধতি থেকে বা একটি স্পেস এর URL থেকে পেতে পারেন।

  4. আপনার কাজের ডিরেক্টরিতে, নমুনা তৈরি করুন এবং চালান:

    python3 chat_create_text_message_app.py
    

চ্যাট এপিআই Message একটি উদাহরণ প্রদান করে যা পাঠানো বার্তার বিবরণ দেয়।

ব্যবহারকারীর প্রমাণীকরণ সহ একটি পাঠ্য বার্তা পাঠান

ব্যবহারকারীর প্রমাণীকরণ সহ একটি পাঠ্য বার্তা কীভাবে পাঠাতে হয় তা এখানে:

পাইথন

  1. আপনার কাজের ডিরেক্টরিতে, chat_create_text_message_user.py নামে একটি ফাইল তৈরি করুন।
  2. chat_create_text_message_user.py এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:

    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.messages.create"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then creates a text message in a Chat space.
        '''
    
        # Start with no credentials.
        creds = None
    
        # Authenticate with Google Workspace
        # and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file(
                        'client_secrets.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds)
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().messages().create(
    
            # The space to create the message in.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            parent='spaces/SPACE',
    
            # The message to create.
            body={'text': 'Hello, world!'}
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. কোডে, একটি স্পেস নাম দিয়ে SPACE প্রতিস্থাপন করুন, যা আপনি Chat API-এর spaces.list() পদ্ধতি থেকে বা একটি স্পেস এর URL থেকে পেতে পারেন।

  4. আপনার কাজের ডিরেক্টরিতে, নমুনা তৈরি করুন এবং চালান:

    python3 chat_create_text_message_user.py
    

চ্যাট এপিআই Message একটি উদাহরণ প্রদান করে যা পাঠানো বার্তার বিবরণ দেয়।

কার্ড বার্তা পাঠান

এই বিভাগে নিম্নলিখিত দুটি উপায়ে কার্ড বার্তা কিভাবে পাঠাতে হয় তা বর্ণনা করে:

  • ব্যবহারকারীর ইন্টারঅ্যাকশনে সাড়া দিয়ে রিয়েল টাইমে একটি কার্ড বার্তা পাঠান।
  • অ্যাসিঙ্ক্রোনাসভাবে Google Chat API কল করে একটি কার্ড বার্তা পাঠান।

রিয়েল টাইমে একটি কার্ড বার্তা পাঠান

চ্যাট অ্যাপগুলি কোনও ব্যবহারকারীর ইন্টারঅ্যাকশনের প্রতিক্রিয়া জানাতে কার্ড বার্তা তৈরি করতে পারে, যেমন কোনও ব্যবহারকারী যখন চ্যাট অ্যাপকে একটি বার্তা পাঠায় বা কোনও স্পেসে চ্যাট অ্যাপ যোগ করে। ব্যবহারকারীর ইন্টারঅ্যাকশনের প্রতিক্রিয়া সম্পর্কে আরও জানতে, চ্যাট অ্যাপ ইন্টারঅ্যাকশন ইভেন্টগুলি গ্রহণ এবং প্রতিক্রিয়া দেখুন।

এই উদাহরণে, একজন ব্যবহারকারী একটি চ্যাট অ্যাপে একটি বার্তা পাঠায় এবং চ্যাট অ্যাপ একটি কার্ড বার্তা পাঠিয়ে প্রতিক্রিয়া জানায় যা ব্যবহারকারীর নাম এবং অবতার ছবি প্রদর্শন করে:

একটি চ্যাট অ্যাপ প্রেরকের ডিসপ্লে নাম এবং অবতার ছবি সমন্বিত একটি কার্ডের সাথে প্রতিক্রিয়া জানায়৷

Node.js

node/avatar-app/index.js
/**
 * Google Cloud Function that responds to messages sent from a
 * Google Chat room.
 *
 * @param {Object} req Request sent from Google Chat room
 * @param {Object} res Response to send back
 */
exports.helloChat = function helloChat(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    res.send('Hello! This function is meant to be used in a Google Chat ' +
      'Room.');
  }

  const sender = req.body.message.sender.displayName;
  const image = req.body.message.sender.avatarUrl;

  const data = createMessage(sender, image);

  res.send(data);
};

/**
 * Creates a card with two widgets.
 * @param {string} displayName the sender's display name
 * @param {string} imageUrl the URL for the sender's avatar
 * @return {Object} a card with the user's avatar.
 */
function createMessage(displayName, imageUrl) {
  const cardHeader = {
    title: `Hello ${displayName}!`,
  };

  const avatarWidget = {
    textParagraph: {text: 'Your avatar picture: '},
  };

  const avatarImageWidget = {
    image: {imageUrl},
  };

  const avatarSection = {
    widgets: [
      avatarWidget,
      avatarImageWidget,
    ],
  };

  return {
    text: 'Here\'s your avatar',
    cardsV2: [{
      cardId: 'avatarCard',
      card: {
        name: 'Avatar Card',
        header: cardHeader,
        sections: [avatarSection],
      }
    }],
  };
}

পাইথন

python/avatar-app/main.py
from typing import Any, Mapping

import flask
import functions_framework


# Google Cloud Function that responds to messages sent in
# Google Chat.
#
# @param {Object} req Request sent from Google Chat.
# @param {Object} res Response to send back.
@functions_framework.http
def hello_chat(req: flask.Request) -> Mapping[str, Any]:
  if req.method == "GET":
    return "Hello! This function must be called from Google Chat."

  request_json = req.get_json(silent=True)

  display_name = request_json["message"]["sender"]["displayName"]
  avatar = request_json["message"]["sender"]["avatarUrl"]

  response = create_message(name=display_name, image_url=avatar)

  return response


# Creates a card with two widgets.
# @param {string} name the sender's display name.
# @param {string} image_url the URL for the sender's avatar.
# @return {Object} a card with the user's avatar.
def create_message(name: str, image_url: str) -> Mapping[str, Any]:
  avatar_image_widget = {"image": {"imageUrl": image_url}}
  avatar_text_widget = {"textParagraph": {"text": "Your avatar picture:"}}
  avatar_section = {"widgets": [avatar_text_widget, avatar_image_widget]}

  header = {"title": f"Hello {name}!"}

  cards = {
      "text": "Here's your avatar",
      "cardsV2": [
          {
              "cardId": "avatarCard",
              "card": {
                  "name": "Avatar Card",
                  "header": header,
                  "sections": [avatar_section],
              },
          }
      ]
  }

  return cards

অ্যাপস স্ক্রিপ্ট

এই উদাহরণ কার্ড JSON ফেরত দিয়ে একটি কার্ড বার্তা পাঠায়। আপনি Apps স্ক্রিপ্ট কার্ড পরিষেবাও ব্যবহার করতে পারেন৷

apps-script/avatar-app/hello-chat.gs
/**
 * Responds to a MESSAGE event in Google Chat.
 *
 * @param {Object} event the event object from Google Chat
 */
function onMessage(event) {
  const displayName = event.message.sender.displayName;
  const avatarUrl = event.message.sender.avatarUrl;

  return createMessage(displayName, avatarUrl);
}

/**
 * Creates a card with two widgets.
 * @param {string} displayName the sender's display name
 * @param {string} avatarUrl the URL for the sender's avatar
 * @return {Object} a card with the sender's avatar.
 */
function createMessage(displayName, avatarUrl) {
  const cardHeader = {
    title: `Hello ${displayName}!`
  };

  const avatarWidget = {
    textParagraph: {text: 'Your avatar picture: '}
  };

  const avatarImageWidget = {
    image: {imageUrl: avatarUrl}
  };

  const avatarSection = {
    widgets: [
      avatarWidget,
      avatarImageWidget
    ],
  };

  return {
    text: 'Here\'s your avatar',
    cardsV2: [{
      cardId: 'avatarCard',
      card: {
        name: 'Avatar Card',
        header: cardHeader,
        sections: [avatarSection],
      }
    }],
  };
}

অ্যাসিঙ্ক্রোনাসভাবে একটি কার্ড বার্তা পাঠান

একটি কার্ড বার্তা পাঠাতে, আপনার অনুরোধে নিম্নলিখিত পাস করুন:

  • অ্যাপ প্রমাণীকরণের সাথে, chat.bot অনুমোদনের সুযোগ নির্দিষ্ট করুন। আপনি ব্যবহারকারীর প্রমাণীকরণ সহ একটি কার্ড বার্তা পাঠাতে পারবেন না।
  • Message রিসোর্সে create পদ্ধতিতে কল করুন।

নিম্নলিখিত একটি কার্ড বার্তার একটি উদাহরণ:

চ্যাট এপিআই দিয়ে পাঠানো একটি কার্ড বার্তা।

অ্যাপ প্রমাণীকরণের সাথে কীভাবে একটি কার্ড বার্তা পাঠাতে হয় তা এখানে:

পাইথন

  1. আপনার কাজের ডিরেক্টরিতে, chat_create_card_message.py নামে একটি ফাইল তৈরি করুন।
  2. chat_create_card_message.py এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Create a Chat message.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # The message to create.
        body=
        {
          'cardsV2': [{
            'cardId': 'createCardMessage',
            'card': {
              'header': {
                'title': 'A card message!',
                'subtitle': 'Created with the Chat API',
                'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
                'imageType': 'CIRCLE'
              },
              'sections': [
                {
                  'widgets': [
                    {
                      'buttonList': {
                        'buttons': [
                          {
                            'text': 'Read the docs!',
                            'onClick': {
                              'openLink': {
                                'url': 'https://developers.google.com/chat'
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              ]
            }
          }]
        }
    
    ).execute()
    
    print(result)
    
  3. কোডে, একটি স্পেস নাম দিয়ে SPACE প্রতিস্থাপন করুন, যা আপনি Chat API-এর spaces.list পদ্ধতি থেকে বা একটি স্পেস এর URL থেকে পেতে পারেন।

  4. আপনার কাজের ডিরেক্টরিতে, নমুনা তৈরি করুন এবং চালান:

    python3 chat_create_card_message.py
    

একটি বার্তা থ্রেড শুরু করুন বা উত্তর দিন

একটি বার্তা থ্রেড শুরু করতে, একটি বার্তা পাঠান এবং thread.name খালি ছেড়ে দিন; থ্রেড তৈরি করার সময় Google Chat এটিকে পপুলেট করে। ঐচ্ছিকভাবে, থ্রেডের নাম কাস্টমাইজ করতে, thread.threadKey ক্ষেত্রটি নির্দিষ্ট করুন।

একটি বার্তা থ্রেডের উত্তর দিতে, একটি বার্তা পাঠান যা থ্রেডের threadKey বা name ক্ষেত্রটি নির্দিষ্ট করে। যদি থ্রেডটি কোনো ব্যক্তি বা অন্য কোনো চ্যাট অ্যাপ তৈরি করে থাকে, তাহলে আপনাকে অবশ্যই thread.name ক্ষেত্রটি ব্যবহার করতে হবে।

যদি কোনো মিল থ্রেড পাওয়া না যায়, তাহলে আপনি নির্দিষ্ট করতে পারেন যে একটি বার্তা একটি নতুন থ্রেড শুরু করা উচিত বা messageReplyOption ক্ষেত্র সেট করে পোস্ট করতে ব্যর্থ হবে।

যদি messageReplyOption সেট করা থাকে, তাহলে আপনাকে অবশ্যই thread.name অথবা thread.threadKey সেট করতে হবে।

nameOfThread হিসাবে সংজ্ঞায়িত threadKey ক্ষেত্রের সাহায্যে কীভাবে একটি থ্রেড শুরু বা উত্তর দিতে হয় তা এখানে রয়েছে:

পাইথন

  1. আপনার কাজের ডিরেক্টরিতে, chat_create_message_thread.py নামে একটি ফাইল তৈরি করুন।
  2. chat_create_message_thread.py এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Create a Chat message.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # Whether to start a thread or reply to an existing one.
        #
        # Required when threading is enabled in a space unless starting a
        # thread.  Ignored in other space types. Threading is enabled when
        # space.spaceThreadingState is THREADED_MESSAGES.
        #
        # REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD replies to an existing thread
        # if one exists, otherwise it starts a new one.
        messageReplyOption='REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD',
    
        # The message body.
        body={
    
            # The message to create.
            'text': 'Start or reply to another message in a thread!',
    
            # The thread to start or reply to.
            'thread': {
                'threadKey': 'nameOfThread'
            }
        }
    
    ).execute()
    
    print(result)
    
  3. কোডে, একটি স্পেস নাম দিয়ে SPACE প্রতিস্থাপন করুন, যা আপনি Chat API-এর spaces.list পদ্ধতি থেকে বা একটি স্পেস এর URL থেকে পেতে পারেন।

  4. আপনার কাজের ডিরেক্টরিতে, নমুনা তৈরি করুন এবং চালান:

    python3 chat_create_message_thread.py
    

চ্যাট এপিআই Message একটি উদাহরণ প্রদান করে যা পাঠানো বার্তার বিবরণ দেয়।

একটি বার্তার নাম দিন

এই বিভাগটি ব্যাখ্যা করে কিভাবে বার্তার জন্য একটি কাস্টম আইডি সেট করে একটি বার্তার নাম দিতে হয়৷ আপনি বার্তা পেতে, আপডেট করতে বা মুছতে কাস্টম আইডি ব্যবহার করতে পারেন। কাস্টম আইডি আপনাকে বার্তার রিসোর্স নাম ( name ক্ষেত্রে উপস্থাপিত) থেকে সিস্টেম দ্বারা নির্ধারিত আইডি সংরক্ষণ করার প্রয়োজন ছাড়াই একটি বার্তা নির্দিষ্ট করতে দেয়। আপনি যখন বার্তাটি তৈরি করেন তখন রিসোর্স নামটি প্রতিক্রিয়া বডিতে তৈরি হয়।

উদাহরণস্বরূপ, get() পদ্ধতি ব্যবহার করে একটি বার্তা পুনরুদ্ধার করতে, আপনি কোন বার্তাটি পুনরুদ্ধার করতে হবে তা নির্দিষ্ট করতে রিসোর্স নাম ব্যবহার করেন। রিসোর্স নামটি spaces/{space}/messages/{message} হিসাবে ফর্ম্যাট করা হয়েছে, যেখানে {message} সিস্টেম-অর্পণ করা ID উপস্থাপন করে। আপনি যদি বার্তাটির নাম দিয়ে থাকেন, তাহলে আপনি কাস্টম আইডি দিয়ে {message} -এর মান প্রতিস্থাপন করতে পারেন।

একটি বার্তার নাম দেওয়ার জন্য, আপনি যখন বার্তা তৈরি করবেন তখন messageId ক্ষেত্রে একটি কাস্টম আইডি উল্লেখ করুন। messageId ক্ষেত্রটি Message সংস্থানের clientAssignedMessageId ক্ষেত্রের মান সেট করে।

আপনি যখন বার্তা তৈরি করবেন তখনই আপনি একটি বার্তার নাম দিতে পারেন৷ আপনি বিদ্যমান বার্তাগুলির জন্য একটি কাস্টম আইডি নাম বা পরিবর্তন করতে পারবেন না৷ কাস্টম আইডি নিম্নলিখিত প্রয়োজনীয়তা পূরণ করতে হবে:

  • client- দিয়ে শুরু হয়-। উদাহরণস্বরূপ, client-custom-name একটি বৈধ কাস্টম আইডি, কিন্তু custom-name নয়।
  • 63টি পর্যন্ত অক্ষর এবং শুধুমাত্র ছোট হাতের অক্ষর, সংখ্যা এবং হাইফেন রয়েছে৷
  • একটি স্থান মধ্যে অনন্য. একটি চ্যাট অ্যাপ বিভিন্ন বার্তার জন্য একই কাস্টম আইডি ব্যবহার করতে পারে না।

এখানে একটি কাস্টম আইডি দিয়ে একটি বার্তা পাঠাতে হয়:

পাইথন

  1. আপনার কাজের ডিরেক্টরিতে, chat_create_named_message.py নামে একটি ফাইল তৈরি করুন।
  2. chat_create_named_message.py এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Create a Chat message with a custom name.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # Custom name for the message used to facilitate later operations.
        messageId='client-NAME',
    
        # The message to create.
        body={'text': 'Hello, world!'}
    
    ).execute()
    
    print(result)
    
  3. কোডে, নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

    • SPACE : যে স্থানের আইডি আপনি বার্তাটি পোস্ট করতে চান, যেটি আপনি চ্যাট API-এর spaces.list পদ্ধতি থেকে বা একটি স্থানের URL থেকে পেতে পারেন।
    • NAME : বার্তার জন্য কাস্টম নাম।
  4. আপনার কাজের ডিরেক্টরিতে, নমুনা তৈরি করুন এবং চালান:

    python3 chat_create_named_message.py
    

চ্যাট এপিআই Message একটি উদাহরণ প্রদান করে।

একটি বার্তার নীচে ইন্টারেক্টিভ উইজেট যোগ করুন

ঐচ্ছিকভাবে, আপনি আনুষঙ্গিক উইজেটগুলির সাথে বার্তাগুলি যুক্ত করতে পারেন৷ আনুষঙ্গিক উইজেটগুলি কোনও বার্তায় কোনও পাঠ্য বা কার্ডের পরে উপস্থিত হয়। আপনি এই উইজেটগুলি ব্যবহার করে ব্যবহারকারীদের আপনার বার্তার সাথে বিভিন্ন উপায়ে ইন্টারঅ্যাক্ট করতে অনুরোধ করতে পারেন, নিম্নলিখিতগুলি সহ:

  • একটি বার্তার নির্ভুলতা বা সন্তুষ্টি রেট করুন।
  • বার্তা বা চ্যাট অ্যাপের সাথে একটি সমস্যা রিপোর্ট করুন।
  • সম্পর্কিত বিষয়বস্তুর একটি লিঙ্ক খুলুন, যেমন ডকুমেন্টেশন।
  • নির্দিষ্ট সময়ের জন্য চ্যাট অ্যাপ থেকে একই ধরনের মেসেজ খারিজ বা স্নুজ করুন।

আনুষঙ্গিক উইজেটগুলি যোগ করতে, বার্তাটিতে accessoryWidgets[] অবজেক্ট অন্তর্ভুক্ত করুন এবং আপনি যে এক বা একাধিক AccessoryWidgets অন্তর্ভুক্ত করতে চান তা নির্দিষ্ট করুন৷ বার্তাটি অবশ্যই স্থানের প্রত্যেকের কাছে দৃশ্যমান হতে হবে (আপনি ব্যক্তিগত বার্তাগুলিতে আনুষঙ্গিক উইজেটগুলি যোগ করতে পারবেন না)৷

নিম্নলিখিত চিত্রটি একটি চ্যাট অ্যাপ দেখায় যা আনুষঙ্গিক উইজেটগুলির সাথে একটি পাঠ্য বার্তা যুক্ত করে যাতে ব্যবহারকারীরা চ্যাট অ্যাপের সাথে তাদের অভিজ্ঞতাকে রেট দিতে পারে।

আনুষঙ্গিক উইজেটগুলির উদাহরণ

নিম্নলিখিত কোড নমুনা এই বার্তার জন্য JSON দেখায়. যখন একজন ব্যবহারকারী একটি বোতামে ক্লিক করেন, তখন মিথস্ক্রিয়া সংশ্লিষ্ট ফাংশনকে ট্রিগার করে (যেমন doUpvote ) যা রেটিং প্রক্রিয়া করে।


 "text": "Rate your experience with this Chat app.",
 "accessoryWidgets": [
   {
     "buttonList": {
       "buttons": [
         {
           "icon": {
             "material_icon": {
               "name": "thumb_up"
             }
           },
           "color": {
             "red": 0,
             "blue": 255,
             "green": 0
           },
           "onClick": {
             "action": {
               "function": "doUpvote",
             }
           }
         },
         {
           "icon": {
             "material_icon": {
               "name": "thumb_down"
             }
           },
           "color": {
             "red": 0,
             "blue": 255,
             "green": 0
           },
           "onClick": {
             "action": {
               "function": "doDownvote",
             }
           }
         }
       ]
     }
   }
 ]

ব্যক্তিগতভাবে বার্তা পাঠান

চ্যাট অ্যাপগুলি ব্যক্তিগতভাবে পাঠ্য এবং কার্ড বার্তা পাঠাতে পারে যাতে বার্তাটি কেবলমাত্র একজন ব্যবহারকারীর কাছে দৃশ্যমান হয়৷ ব্যক্তিগতভাবে একটি বার্তা পাঠাতে, আপনি বার্তায় privateMessageViewer ক্ষেত্রটি নির্দিষ্ট করুন৷ শুধুমাত্র চ্যাট অ্যাপই ব্যক্তিগত বার্তা পাঠাতে পারে। অ্যাসিঙ্ক্রোনাসভাবে একটি ব্যক্তিগত বার্তা পাঠাতে, আপনাকে অবশ্যই অ্যাপ প্রমাণীকরণ ব্যবহার করতে হবে।

বিস্তারিত জানার জন্য, Google Chat ব্যবহারকারীদের ব্যক্তিগত বার্তা পাঠান দেখুন।

সমস্যা সমাধান

যখন একটি Google চ্যাট অ্যাপ বা কার্ড একটি ত্রুটি ফেরত দেয়, তখন চ্যাট ইন্টারফেস "কিছু ভুল হয়েছে" বলে একটি বার্তা দেখায়। অথবা "আপনার অনুরোধ প্রক্রিয়া করতে অক্ষম।" কখনও কখনও চ্যাট UI কোনও ত্রুটি বার্তা প্রদর্শন করে না, তবে চ্যাট অ্যাপ বা কার্ড একটি অপ্রত্যাশিত ফলাফল তৈরি করে; উদাহরণস্বরূপ, একটি কার্ড বার্তা প্রদর্শিত নাও হতে পারে৷

যদিও একটি ত্রুটি বার্তা চ্যাট UI-তে প্রদর্শিত নাও হতে পারে, বর্ণনামূলক ত্রুটি বার্তা এবং লগ ডেটা উপলব্ধ রয়েছে যাতে আপনি যখন চ্যাট অ্যাপগুলির জন্য ত্রুটি লগিং চালু থাকে তখন ত্রুটিগুলি ঠিক করতে সহায়তা করে৷ দেখা, ডিবাগিং এবং ত্রুটিগুলি সংশোধন করতে সহায়তার জন্য, Google Chat ত্রুটিগুলি সমস্যা সমাধান এবং ঠিক করুন দেখুন৷