Google Chat-এ পরিচিতি সংগ্রহ ও পরিচালনা করুন

এই টিউটোরিয়ালটি দেখানো হয়েছে কিভাবে একটি গুগল চ্যাট অ্যাপ তৈরি করতে হয় যা গুগল চ্যাট ব্যবহারকারীদের তাদের ব্যক্তিগত এবং ব্যবসায়িক যোগাযোগ পরিচালনা করতে সাহায্য করে। তথ্য সংগ্রহের জন্য, চ্যাট অ্যাপ ব্যবহারকারীদের কার্ড বার্তা এবং সংলাপে একটি যোগাযোগ ফর্ম পূরণ করতে অনুরোধ করে।

চ্যাট অ্যাপটি কীভাবে কাজ করছে তা দেখুন:

  • স্ল্যাশ কমান্ড থেকে যোগাযোগ ফর্ম।
    চিত্র ১. চ্যাট অ্যাপটি /about স্ল্যাশ কমান্ডের প্রতিক্রিয়ায় একটি টেক্সট মেসেজ এবং একটি যোগাযোগ ফর্ম খোলার বোতাম ব্যবহার করে।
  • একটি সংলাপে যোগাযোগের ফর্ম।
    চিত্র ২। চ্যাট অ্যাপটি একটি ডায়ালগ খুলবে যেখানে ব্যবহারকারীরা একটি পরিচিতি সম্পর্কে তথ্য ইনপুট করতে পারবেন।
  • নিশ্চিত করুন এবং ডায়ালগ পর্যালোচনা করুন।
    চিত্র ৩। চ্যাট অ্যাপটি একটি নিশ্চিতকরণ ডায়ালগ ফেরত দেয় যাতে ব্যবহারকারীরা জমা দেওয়ার আগে তথ্য পর্যালোচনা এবং নিশ্চিত করতে পারেন।
  • একটি টেক্সট মেসেজ যা নতুন পরিচিতিকে নিশ্চিত করে।
    চিত্র ৪। ব্যবহারকারী ফর্মটি জমা দেওয়ার পরে, চ্যাট অ্যাপটি জমা নিশ্চিত করার জন্য একটি ব্যক্তিগত টেক্সট বার্তা পাঠায়।
  • একটি কার্ড বার্তা থেকে যোগাযোগের ফর্ম।
    চিত্র ৫। চ্যাট অ্যাপটি ব্যবহারকারীদের একটি কার্ড থেকে একটি বার্তায় একটি পরিচিতি যোগ করার জন্য অনুরোধ করে।

পূর্বশর্ত

উদ্দেশ্য

স্থাপত্য

চ্যাট অ্যাপটি গুগল অ্যাপস স্ক্রিপ্টে তৈরি এবং চ্যাট ব্যবহারকারীদের প্রক্রিয়াকরণ এবং প্রতিক্রিয়া জানাতে ইন্টারঅ্যাকশন ইভেন্ট ব্যবহার করে।

একজন ব্যবহারকারী সাধারণত চ্যাট অ্যাপের সাথে কীভাবে ইন্টারঅ্যাক্ট করতে পারেন তা নিম্নলিখিতটি দেখায়:

  1. একজন ব্যবহারকারী চ্যাট অ্যাপের মাধ্যমে একটি সরাসরি বার্তা খোলেন, অথবা চ্যাট অ্যাপটি একটি বিদ্যমান স্পেসে যোগ করেন।

  2. চ্যাট অ্যাপটি ব্যবহারকারীকে একটি card অবজেক্ট হিসেবে একটি যোগাযোগ ফর্ম তৈরি এবং প্রদর্শন করে একটি পরিচিতি যোগ করতে অনুরোধ করে। যোগাযোগ ফর্মটি উপস্থাপন করার জন্য, চ্যাট অ্যাপটি নিম্নলিখিত উপায়ে ব্যবহারকারীদের প্রতিক্রিয়া জানায়:

    • @উল্লেখ এবং সরাসরি বার্তাগুলির উত্তরে একটি কার্ড বার্তা ব্যবহার করা হয় যাতে যোগাযোগ ফর্ম থাকে।
    • Responds to the slash command /addContact by opening a dialog with the contact form.
    • স্ল্যাশ কমান্ড /about এর উত্তরে একটি টেক্সট মেসেজ পাঠানো হয় যার মধ্যে একটি "যোগাযোগ যোগ করুন" বোতাম থাকে এবং ব্যবহারকারীরা যোগাযোগ ফর্মের সাথে একটি ডায়ালগ খুলতে ক্লিক করতে পারেন।
  3. যোগাযোগ ফর্মটি উপস্থাপন করা হলে, ব্যবহারকারী নিম্নলিখিত ক্ষেত্র এবং উইজেটগুলিতে যোগাযোগের তথ্য ইনপুট করেন:

    • প্রথম এবং শেষ নাম : একটি textInput উইজেট যা স্ট্রিং গ্রহণ করে।
    • জন্মতারিখ : একটি dateTimePicker উইজেট যা শুধুমাত্র তারিখ গ্রহণ করে।
    • যোগাযোগের ধরণ : রেডিও বোতামগুলির একটি selectionInput উইজেট যা ব্যবহারকারীদের একটি একক স্ট্রিং মান ( Personal বা Work ) নির্বাচন এবং জমা দিতে দেয়।
    • Review and submit button: a buttonList array with button widget that the user clicks to submit the values that they input.
  4. গুগল চ্যাট অ্যাপটি ব্যবহারকারীর ইনপুট করা মানগুলি প্রক্রিয়া করার জন্য একটি CARD_CLICKED ইন্টারঅ্যাকশন ইভেন্ট পরিচালনা করে এবং একটি নিশ্চিতকরণ কার্ডে মানগুলি প্রদর্শন করে।

  5. ব্যবহারকারী নিশ্চিতকরণ কার্ডটি পর্যালোচনা করেন এবং যোগাযোগের তথ্য চূড়ান্ত করতে জমা দিন বোতামে ক্লিক করেন।

  6. গুগল চ্যাট অ্যাপটি একটি ব্যক্তিগত টেক্সট মেসেজ পাঠায় যা জমা দেওয়ার বিষয়টি নিশ্চিত করে।

পরিবেশ প্রস্তুত করুন

এই বিভাগটি দেখায় কিভাবে চ্যাট অ্যাপের জন্য একটি Google ক্লাউড প্রকল্প কনফিগার করতে হয়।

গুগল ক্লাউড কনসোলে আপনার ক্লাউড প্রোজেক্ট খুলুন।

যদি এটি ইতিমধ্যে খোলা না থাকে, তাহলে এই নমুনার জন্য আপনি যে ক্লাউড প্রকল্পটি ব্যবহার করতে চান তা খুলুন:

  1. গুগল ক্লাউড কনসোলে, একটি প্রকল্প নির্বাচন করুন পৃষ্ঠায় যান।

    একটি ক্লাউড প্রকল্প নির্বাচন করুন

  2. আপনি যে Google Cloud প্রকল্পটি ব্যবহার করতে চান তা নির্বাচন করুন। অথবা, প্রকল্প তৈরি করুন ক্লিক করুন এবং অন-স্ক্রীন নির্দেশাবলী অনুসরণ করুন। আপনি যদি একটি Google Cloud প্রকল্প তৈরি করেন, তাহলে আপনাকে প্রকল্পের জন্য বিলিং চালু করতে হতে পারে।

প্রমাণীকরণ এবং অনুমোদন সেট আপ করুন

Google Chat অ্যাপগুলির জন্য আপনাকে একটি OAuth সম্মতি স্ক্রিন কনফিগার করতে হবে যাতে ব্যবহারকারীরা Google Workspace অ্যাপ্লিকেশনগুলিতে, যার মধ্যে Google Chatও অন্তর্ভুক্ত, আপনার অ্যাপটিকে অনুমোদন করতে পারেন।

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

  1. গুগল ক্লাউড কনসোলে, মেনু > এ যানGoogle Auth platform > Branding .

    ব্র্যান্ডিং-এ যান

  2. যদি আপনি ইতিমধ্যেই কনফিগার করে থাকেনGoogle Auth platform, আপনি ব্র্যান্ডিং , অডিয়েন্স এবং ডেটা অ্যাক্সেসে নিম্নলিখিত OAuth কনসেন্ট স্ক্রিন সেটিংস কনফিগার করতে পারেন। যদি আপনি এমন একটি বার্তা দেখতে পান যা বলে Google Auth platform এখনও কনফিগার করা হয়নি , শুরু করুন ক্লিক করুন:

    1. Under App Information , in App name , type Contact Manager .
    2. ব্যবহারকারী সহায়তা ইমেল বিভাগে, আপনার ইমেল ঠিকানা অথবা একটি উপযুক্ত Google গ্রুপ নির্বাচন করুন।
    3. পরবর্তী ক্লিক করুন।
    4. Audience এর অধীনে, Internal নির্বাচন করুন। যদি আপনি Internal নির্বাচন করতে না পারেন, তাহলে External নির্বাচন করুন।
    5. পরবর্তী ক্লিক করুন।
    6. যোগাযোগের তথ্য এর অধীনে, একটি ইমেল ঠিকানা লিখুন যেখানে আপনার প্রকল্পের যেকোনো পরিবর্তন সম্পর্কে আপনাকে অবহিত করা যেতে পারে।
    7. পরবর্তী ক্লিক করুন।
    8. Finish এর অধীনে, Google API পরিষেবা ব্যবহারকারীর ডেটা নীতি পর্যালোচনা করুন এবং যদি আপনি সম্মত হন, তাহলে আমি Google API পরিষেবাগুলিতে সম্মত: ব্যবহারকারীর ডেটা নীতি নির্বাচন করুন।
    9. চালিয়ে যান ক্লিক করুন।
    10. তৈরি করুন ক্লিক করুন।
    11. If you selected External for user type, add test users:
      1. দর্শক ক্লিক করুন।
      2. Under Test users , click Add users .
      3. Enter your email address and any other authorized test users, then click Save .

চ্যাট অ্যাপ তৈরি এবং স্থাপন করুন

পরবর্তী অংশে, আপনি একটি সম্পূর্ণ অ্যাপস স্ক্রিপ্ট প্রকল্প কপি এবং আপডেট করবেন যাতে আপনার চ্যাট অ্যাপের জন্য প্রয়োজনীয় সমস্ত অ্যাপ্লিকেশন কোড থাকবে, তাই প্রতিটি ফাইল কপি এবং পেস্ট করার প্রয়োজন নেই।

ঐচ্ছিকভাবে, আপনি GitHub-এ পুরো প্রকল্পটি দেখতে পারেন।

GitHub-এ দেখুন

এখানে প্রতিটি ফাইলের একটি সারসংক্ষেপ দেওয়া হল:

main.gs

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

main.gs কোড দেখুন

অ্যাপস-স্ক্রিপ্ট/যোগাযোগ-ফর্ম-অ্যাপ/মেইন.জিএস
/**
 * Copyright 2024 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * Responds to a MESSAGE interaction event in Google Chat.
 *
 * @param {Object} event the MESSAGE interaction event from Chat API.
 * @return {Object} message response that opens a dialog or sends private
 *                          message with text and card.
 */
function onMessage(event) {
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case 1:
        // If the slash command is "/about", responds with a text message and button
        // that opens a dialog.
        return {
          text: "Manage your personal and business contacts 📇. To add a " +
                  "contact, use the slash command `/addContact`.",
          accessoryWidgets: [{
            buttonList: { buttons: [{
              text: "Add Contact",
              onClick: { action: {
                function: "openInitialDialog",
                interaction: "OPEN_DIALOG"
              }}
            }]}
          }]
        }
      case 2:
        // If the slash command is "/addContact", opens a dialog.
        return openInitialDialog();
    }
  }

  // If user sends the Chat app a message without a slash command, the app responds
  // privately with a text and card to add a contact.
  return {
    privateMessageViewer: event.user,
    text: "To add a contact, try `/addContact` or complete the form below:",
    cardsV2: [{
      cardId: "addContactForm",
      card: {
        header: { title: "Add a contact" },
        sections:[{ widgets: CONTACT_FORM_WIDGETS.concat([{
          buttonList: { buttons: [{
            text: "Review and submit",
            onClick: { action: { function : "openConfirmation" }}
          }]}
        }])}]
      }
    }]
  };
}

/**
 * Responds to CARD_CLICKED interaction events in Google Chat.
 *
 * @param {Object} event the CARD_CLICKED interaction event from Google Chat.
 * @return {Object} message responses specific to the dialog handling.
 */
function onCardClick(event) {
  // Initial dialog form page
  if (event.common.invokedFunction === "openInitialDialog") {
    return openInitialDialog();
  // Confirmation dialog form page
  } else if (event.common.invokedFunction === "openConfirmation") {
    return openConfirmation(event);
  // Submission dialog form page
  } else if (event.common.invokedFunction === "submitForm") {
    return submitForm(event);
  }
}

/**
 * Opens the initial step of the dialog that lets users add contact details.
 *
 * @return {Object} a message with an action response to open a dialog.
 */
function openInitialDialog() {
  return { actionResponse: {
    type: "DIALOG",
    dialogAction: { dialog: { body: { sections: [{
      header: "Add new contact",
      widgets: CONTACT_FORM_WIDGETS.concat([{
        buttonList: { buttons: [{
          text: "Review and submit",
          onClick: { action: { function: "openConfirmation" }}
        }]}
      }])
    }]}}}
  }};
}

/**
 * Returns the second step as a dialog or card message that lets users confirm details.
 *
 * @param {Object} event the interactive event with form inputs.
 * @return {Object} returns a dialog or private card message.
 */
function openConfirmation(event) {
  const name = fetchFormValue(event, "contactName") ?? "";
  const birthdate = fetchFormValue(event, "contactBirthdate") ?? "";
  const type = fetchFormValue(event, "contactType") ?? "";
  const cardConfirmation = {
    header: "Your contact",
    widgets: [{
      textParagraph: { text: "Confirm contact information and submit:" }}, {
      textParagraph: { text: "<b>Name:</b> " + name }}, {
      textParagraph: {
        text: "<b>Birthday:</b> " + convertMillisToDateString(birthdate)
      }}, {
      textParagraph: { text: "<b>Type:</b> " + type }}, {
      buttonList: { buttons: [{
        text: "Submit",
        onClick: { action: {
          function: "submitForm",
          parameters: [{
            key: "contactName", value: name }, {
            key: "contactBirthdate", value: birthdate }, {
            key: "contactType", value: type
          }]
        }}
      }]}
    }]
  };

  // Returns a dialog with contact information that the user input.
  if (event.isDialogEvent) {
    return { action_response: {
      type: "DIALOG",
      dialogAction: { dialog: { body: { sections: [ cardConfirmation ]}}}
    }};
  }

  // Updates existing card message with contact information that the user input.
  return {
    actionResponse: { type: "UPDATE_MESSAGE" },
    privateMessageViewer: event.user,
    cardsV2: [{
      card: { sections: [cardConfirmation]}
    }]
  }
}

/**
  * Validates and submits information from a dialog or card message
  * and notifies status.
  *
  * @param {Object} event the interactive event with parameters.
  * @return {Object} a message response that opens a dialog or posts a private
  *                  message.
  */
function submitForm(event) {
  const contactName = event.common.parameters["contactName"];
  // Checks to make sure the user entered a contact name.
  // If no name value detected, returns an error message.
  const errorMessage = "Don't forget to name your new contact!";
  if (!contactName && event.dialogEventType === "SUBMIT_DIALOG") {
    return { actionResponse: {
      type: "DIALOG",
      dialogAction: { actionStatus: {
        statusCode: "INVALID_ARGUMENT",
        userFacingMessage: errorMessage
      }}
    }};
  }
  if (!contactName) {
    return {
      privateMessageViewer: event.user,
      text: errorMessage
    };
  }

  // The Chat app indicates that it received form data from the dialog or card.
  // Sends private text message that confirms submission.
  const confirmationMessage = "✅ " + contactName + " has been added to your contacts.";
  if (event.dialogEventType === "SUBMIT_DIALOG") {
    return {
      actionResponse: {
        type: "DIALOG",
        dialogAction: { actionStatus: {
          statusCode: "OK",
          userFacingMessage: "Success " + contactName
        }}
      }
    };
  }
  return {
    actionResponse: { type: "NEW_MESSAGE" },
    privateMessageViewer: event.user,
    text: confirmationMessage
  };
}

/**
 * Extracts form input value for a given widget.
 *
 * @param {Object} event the CARD_CLICKED interaction event from Google Chat.
 * @param {String} widgetName a unique ID for the widget, specified in the widget's name field.
 * @returns the value inputted by the user, null if no value can be found.
 */
function fetchFormValue(event, widgetName) {
  const formItem = event.common.formInputs[widgetName][""];
  // For widgets that receive StringInputs data, the value input by the user.
  if (formItem.hasOwnProperty("stringInputs")) {
    const stringInput = event.common.formInputs[widgetName][""].stringInputs.value[0];
    if (stringInput != null) {
      return stringInput;
    }
  // For widgets that receive dateInput data, the value input by the user.
  } else if (formItem.hasOwnProperty("dateInput")) {
    const dateInput = event.common.formInputs[widgetName][""].dateInput.msSinceEpoch;
     if (dateInput != null) {
       return dateInput;
     }
  }

  return null;
}

/**
 * Converts date in milliseconds since epoch to user-friendly string.
 *
 * @param {Object} millis the milliseconds since epoch time.
 * @return {string} Display-friend date (English US).
 */
function convertMillisToDateString(millis) {
  const date = new Date(millis);
  const options = { year: 'numeric', month: 'long', day: 'numeric' };
  return date.toLocaleDateString('en-US', options);
}
contactForm.gs

ব্যবহারকারীদের কাছ থেকে ফর্ম ডেটা গ্রহণকারী উইজেটগুলি ধারণ করে। এই ফর্ম ইনপুট উইজেটগুলি বার্তা এবং ডায়ালগে প্রদর্শিত কার্ডগুলিতে প্রদর্শিত হয়।

contactForm.gs কোড দেখুন

অ্যাপস-স্ক্রিপ্ট/যোগাযোগ-ফর্ম-অ্যাপ/যোগাযোগফর্ম.gs
/**
 * Copyright 2024 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * The section of the contact card that contains the form input widgets. Used in a dialog and card message.
 * To add and preview widgets, use the Card Builder: https://addons.gsuite.google.com/uikit/builder
 */
const CONTACT_FORM_WIDGETS = [
  {
    "textInput": {
      "name": "contactName",
      "label": "First and last name",
      "type": "SINGLE_LINE"
    }
  },
  {
    "dateTimePicker": {
      "name": "contactBirthdate",
      "label": "Birthdate",
      "type": "DATE_ONLY"
    }
  },
  {
    "selectionInput": {
      "name": "contactType",
      "label": "Contact type",
      "type": "RADIO_BUTTON",
      "items": [
        {
          "text": "Work",
          "value": "Work",
          "selected": false
        },
        {
          "text": "Personal",
          "value": "Personal",
          "selected": false
        }
      ]
    }
  }
];
appsscript.json

অ্যাপস স্ক্রিপ্ট ম্যানিফেস্ট যা চ্যাট অ্যাপের জন্য অ্যাপস স্ক্রিপ্ট প্রকল্পকে সংজ্ঞায়িত এবং কনফিগার করে।

appsscript.json কোড দেখুন

অ্যাপস-স্ক্রিপ্ট/যোগাযোগ-ফর্ম-অ্যাপ/অ্যাপসস্ক্রিপ্ট.জেসন
{
  "timeZone": "America/Los_Angeles",
  "dependencies": {},
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "chat": {}
}

অ্যাপস স্ক্রিপ্ট প্রজেক্ট তৈরি করুন

একটি অ্যাপস স্ক্রিপ্ট প্রকল্প তৈরি করতে:

  1. Click the following button to open the Manage contacts in Google Chat Apps Script project.
    প্রকল্পটি খুলুন
  2. Click Overview .
  3. ওভারভিউ পৃষ্ঠায়, ক্লিক করুন একটি কপি তৈরির আইকন একটি কপি তৈরি করুন
  4. আপনার অ্যাপস স্ক্রিপ্ট প্রজেক্টের কপিটির নাম দিন:

    1. Click Copy of Manage contacts in Google Chat .

    2. প্রোজেক্টের শিরোনামে , Contact Manager - Google Chat app টাইপ করুন।

    3. পুনঃনামকরণ ক্লিক করুন।

In the future, if you want to use certain Google APIs or publish your app, you must associate your Cloud project with your Apps Script project. For this guide, you don't need to do so. To learn more, see the Google Cloud projects guide .

একটি অ্যাপস স্ক্রিপ্ট স্থাপন তৈরি করুন

এখন সমস্ত কোড তৈরি হয়ে গেছে, অ্যাপস স্ক্রিপ্ট প্রজেক্টটি স্থাপন করুন। গুগল ক্লাউডে চ্যাট অ্যাপটি কনফিগার করার সময় আপনি স্থাপনা আইডি ব্যবহার করেন।

  1. অ্যাপস স্ক্রিপ্টে, চ্যাট অ্যাপের প্রজেক্টটি খুলুন।

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

  2. স্থাপন > নতুন স্থাপন ক্লিক করুন।

  3. If Add-on isn't already selected, next to Select type , click deployment types প্রকল্প সেটিংসের আইকন এবং অ্যাড-অন নির্বাচন করুন।

  4. In Description , enter a description for this version, like Test of Contact Manager .

  5. Click Deploy . Apps Script reports successful deployment and provides a deployment ID.

  6. ডিপ্লয়মেন্ট আইডি কপি করতে Copy এ ক্লিক করুন এবং তারপর Done এ ক্লিক করুন।

Google Cloud কনসোলে Chat অ্যাপটি কনফিগার করুন

এই বিভাগটি দেখায় যে কীভাবে আপনার চ্যাট অ্যাপ সম্পর্কে তথ্য সহ Google Cloud কনসোলে Google Chat API কনফিগার করবেন, যার মধ্যে আপনার Apps Script প্রকল্প থেকে তৈরি করা স্থাপনার আইডিও অন্তর্ভুক্ত।

  1. In the Google Cloud console, click Menu > More products > Google Workspace > Product Library > Google Chat API > Manage > Configuration .

    চ্যাট এপিআই কনফিগারেশনে যান

  2. Clear Build this Chat app as a Google Workspace add-on . A dialog opens asking you to confirm. In the dialog, click Disable .

  3. অ্যাপের নামে , Contact Manager টাইপ করুন।

  4. In Avatar URL , type https://developers.google.com/chat/images/contact-icon.png .

  5. বর্ণনা বিভাগে, Manage your personal and business contacts টাইপ করুন।

  6. "ইন্টারেক্টিভ বৈশিষ্ট্যগুলি সক্ষম করুন" এ ক্লিক করে অন পজিশনে টগল করুন।

  7. কার্যকারিতার অধীনে, Join spaces and group conversations নির্বাচন করুন।

  8. Under Connection settings , select Apps Script .

  9. ডিপ্লয়মেন্ট আইডিতে , অ্যাপস স্ক্রিপ্ট ডিপ্লয়মেন্ট আইডিটি পেস্ট করুন যা আপনি অ্যাপস স্ক্রিপ্ট ডিপ্লয়মেন্ট তৈরি করার সময় পূর্ববর্তী বিভাগে কপি করেছিলেন।

  10. কমান্ডের অধীনে, /about এবং /addContact স্ল্যাশ কমান্ড সেট আপ করুন:

    1. Click Add a slash command to set up the first slash command.
    2. In Name , type About .
    3. In Command ID , type 1 .
    4. বর্ণনা বিভাগে, Learn how to use this Chat app to manage your contacts টাইপ করুন।
    5. Under Command type , select Slash command .
    6. স্ল্যাশ কমান্ডের নামের মধ্যে, /about টাইপ করুন।
    7. Select Opens a dialog .
    8. সম্পন্ন ক্লিক করুন।
    9. Click Add a command to set up another slash command.
    10. In Name , type Add a contact .
    11. কমান্ড আইডিতে , 2 টাইপ করুন।
    12. Description- এ, Submit information about a contact টাইপ করুন।
    13. কমান্ড টাইপের অধীনে, Slash command নির্বাচন করুন।
    14. In Slash command name , type /addContact .
    15. Select Opens a dialog .
    16. সম্পন্ন ক্লিক করুন।
  11. Under Visibility , select the Make this Chat app available to specific people and groups in YOUR DOMAIN checkbox and enter your email address.

  12. Under Logs , select Log errors to Logging .

  13. সংরক্ষণ করুন ক্লিক করুন। একটি কনফিগারেশন সংরক্ষিত বার্তা প্রদর্শিত হবে।

চ্যাট অ্যাপটি চ্যাটে ইনস্টল এবং পরীক্ষা করার জন্য প্রস্তুত।

চ্যাট অ্যাপটি পরীক্ষা করুন

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

  1. বিশ্বস্ত পরীক্ষক হিসেবে নিজেকে যোগ করার সময় যে Google Workspace অ্যাকাউন্টটি দিয়েছিলেন, সেটি ব্যবহার করে Google Chat খুলুন।

    গুগল চ্যাটে যান

  2. নতুন চ্যাট এ ক্লিক করুন।
  3. ১ বা তার বেশি লোক যোগ করুন ফিল্ডে, আপনার চ্যাট অ্যাপের নাম টাইপ করুন।
  4. ফলাফল থেকে আপনার চ্যাট অ্যাপটি নির্বাচন করুন। একটি সরাসরি বার্তা খুলবে।

  1. In the new direct message with the Chat app, type /addContact and press enter .

  2. যে ডায়ালগটি খোলে, তাতে যোগাযোগের তথ্য লিখুন:

    1. প্রথম এবং শেষ নাম টেক্সট ক্ষেত্রে, একটি নাম লিখুন।
    2. In the Birthdate date picker, select a date.
    3. যোগাযোগের ধরণ এর অধীনে, কর্ম বা ব্যক্তিগত রেডিও বোতামটি নির্বাচন করুন।
  3. Click Review and submit .

  4. In the confirmation dialog, review the information that you submitted and click Submit . The Chat app replies with a text message that says CONTACT NAME has been added to your contacts. .

  5. ঐচ্ছিকভাবে, আপনি নিম্নলিখিত উপায়ে যোগাযোগ ফর্মটি পরীক্ষা এবং জমা দিতে পারেন:

    • Use the /about slash command. Chat app replies with a text message and an accessory widget button that says Add a contact . You can click the button to open a dialog with the contact form.
    • চ্যাট অ্যাপে Hello মতো স্ল্যাশ কমান্ড ছাড়াই সরাসরি বার্তা পাঠান। চ্যাট অ্যাপটি একটি টেক্সট এবং কার্ড দিয়ে উত্তর দেয় যাতে যোগাযোগ ফর্ম থাকে।

পরিষ্কার করা

এই টিউটোরিয়ালে ব্যবহৃত রিসোর্সের জন্য আপনার Google ক্লাউড অ্যাকাউন্টে চার্জ এড়াতে, আমরা আপনাকে ক্লাউড প্রকল্পটি মুছে ফেলার পরামর্শ দিচ্ছি।

  1. গুগল ক্লাউড কনসোলে, রিসোর্স পরিচালনা পৃষ্ঠায় যান। মেনু > IAM & Admin > রিসোর্স পরিচালনা করুন এ ক্লিক করুন।

    রিসোর্স ম্যানেজারে যান

  2. প্রকল্পের তালিকায়, আপনি যে প্রকল্পটি মুছতে চান তা নির্বাচন করুন এবং তারপরে মুছুন মুছে ফেলুন করুন।
  3. ডায়ালগে, প্রজেক্ট আইডি টাইপ করুন এবং তারপর প্রজেক্টটি মুছে ফেলতে Shut down এ ক্লিক করুন।