Google Chat অ্যাপের আদেশে সাড়া দিন

এই পৃষ্ঠায় ব্যাখ্যা করা হয়েছে কিভাবে Google Chat অ্যাপ হিসেবে কমান্ড সেট আপ করতে হয় এবং সাড়া দিতে হয়।

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

কমান্ড তৈরি করা উচিত কিনা তা নির্ধারণ করতে এবং ব্যবহারকারীর মিথস্ক্রিয়া কীভাবে ডিজাইন করবেন তা বুঝতে, সমস্ত ব্যবহারকারীর যাত্রা নির্ধারণ করুন দেখুন।

চ্যাট অ্যাপ কমান্ডের প্রকারভেদ

আপনি চ্যাট অ্যাপ কমান্ডগুলিকে স্ল্যাশ কমান্ড বা কুইক কমান্ড হিসেবে তৈরি করতে পারেন। কমান্ডগুলি আবিষ্কার করতে, ব্যবহারকারীরা উত্তরের ক্ষেত্রে একটি স্ল্যাশ / টাইপ করতে পারেন, অথবা Google Workspace টুলগুলিতে ক্লিক করতে পারেন। চ্যাট বার্তার উত্তর এলাকা থেকে। প্রতিটি ধরণের কমান্ড ব্যবহার করতে, ব্যবহারকারীরা নিম্নলিখিতগুলি করতে পারেন:
  1. স্ল্যাশ কমান্ড: ব্যবহারকারীরা মেনু থেকে একটি স্ল্যাশ কমান্ড নির্বাচন করতে পারেন অথবা একটি স্ল্যাশ ( / ) টাইপ করতে পারেন এবং তারপর একটি পূর্বনির্ধারিত টেক্সট টাইপ করতে পারেন, যেমন /about । চ্যাট অ্যাপগুলিতে সাধারণত স্ল্যাশ কমান্ডের জন্য আর্গুমেন্ট টেক্সট প্রয়োজন হয়।

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

  2. দ্রুত কমান্ড: ব্যবহারকারীরা চ্যাট বার্তার উত্তর এলাকা থেকে মেনু খুলে কমান্ড ব্যবহার করেন। একটি কমান্ড ব্যবহার করতে, তারা Add এবং মেনু থেকে একটি কমান্ড নির্বাচন করুন।

    যদি আপনার চ্যাট অ্যাপটি অতিরিক্ত ইনপুটের জন্য অপেক্ষা না করেই ব্যবহারকারীর সাথে তাৎক্ষণিকভাবে সাড়া দিতে পারে, তাহলে একটি দ্রুত কমান্ড তৈরি করুন। উদাহরণস্বরূপ, আপনি র‍্যান্ডম ইমেজ নামে একটি দ্রুত কমান্ড তৈরি করতে পারেন যা একটি ছবির সাথে তাৎক্ষণিকভাবে সাড়া দেয়।

নিচের ছবিতে দেখানো হয়েছে কিভাবে ব্যবহারকারীরা স্ল্যাশ কমান্ড এবং দ্রুত কমান্ডের একটি মেনু আবিষ্কার করে:
একজন ব্যবহারকারী স্ল্যাশ কমান্ড এবং দ্রুত কমান্ডের একটি মেনু আবিষ্কার করেন।
ব্যবহারকারীরা স্ল্যাশ কমান্ড এবং দ্রুত কমান্ডের একটি মেনু আবিষ্কার করেন।

পূর্বশর্ত

নোড.জেএস

একটি Google Chat অ্যাপ যা ইন্টারঅ্যাকশন ইভেন্ট গ্রহণ করে এবং সাড়া দেয়। HTTP পরিষেবা ব্যবহার করে একটি ইন্টারেক্টিভ চ্যাট অ্যাপ তৈরি করতে, এই কুইকস্টার্টটি সম্পূর্ণ করুন।

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

একটি Google Chat অ্যাপ যা ইন্টারঅ্যাকশন ইভেন্ট গ্রহণ করে এবং সাড়া দেয়। Apps Script-এ একটি ইন্টারেক্টিভ চ্যাট অ্যাপ তৈরি করতে, এই Quickstart সম্পূর্ণ করুন।

পাইথন

একটি Google Chat অ্যাপ যা ইন্টারঅ্যাকশন ইভেন্ট গ্রহণ করে এবং সাড়া দেয়। HTTP পরিষেবা ব্যবহার করে একটি ইন্টারেক্টিভ চ্যাট অ্যাপ তৈরি করতে, এই কুইকস্টার্টটি সম্পূর্ণ করুন।

জাভা

একটি Google Chat অ্যাপ যা ইন্টারঅ্যাকশন ইভেন্ট গ্রহণ করে এবং সাড়া দেয়। HTTP পরিষেবা ব্যবহার করে একটি ইন্টারেক্টিভ চ্যাট অ্যাপ তৈরি করতে, এই কুইকস্টার্টটি সম্পূর্ণ করুন।

কমান্ড সেট আপ করুন

এই বিভাগে কমান্ড সেট আপ করার জন্য নিম্নলিখিত ধাপগুলি কীভাবে সম্পন্ন করবেন তা ব্যাখ্যা করা হয়েছে:

  1. কমান্ডের জন্য একটি নাম এবং বর্ণনা তৈরি করুন
  2. গুগল ক্লাউড কনসোলে কমান্ডটি কনফিগার করুন

কমান্ডটির নাম এবং বর্ণনা দাও।

ব্যবহারকারীরা চ্যাট অ্যাপটি ব্যবহার করার জন্য যা টাইপ করেন বা নির্বাচন করেন তা হল কমান্ডের নাম। কমান্ডটি কীভাবে ব্যবহার করবেন সে সম্পর্কে ব্যবহারকারীদের আরও জানতে নামের নীচে একটি সংক্ষিপ্ত বিবরণও দেখানো হয়েছে:

স্ল্যাশ কমান্ডের নাম এবং বর্ণনা
স্ল্যাশ কমান্ডের নাম এবং বর্ণনা।

আপনার কমান্ডের জন্য একটি নাম এবং বর্ণনা নির্বাচন করার সময়, নিম্নলিখিত সুপারিশগুলি বিবেচনা করুন:

একটি কমান্ডের নামকরণ করতে:

  • ব্যবহারকারীর কাছে কমান্ডগুলি স্পষ্ট করার জন্য সংক্ষিপ্ত, বর্ণনামূলক এবং কার্যকর শব্দ বা বাক্যাংশ ব্যবহার করুন। উদাহরণস্বরূপ, Create a reminder নামের পরিবর্তে, Remind me ব্যবহার করুন।
  • আপনার কমান্ডের জন্য একটি অনন্য বা সাধারণ নাম ব্যবহার করার কথা বিবেচনা করুন। যদি আপনার কমান্ড একটি সাধারণ ইন্টারঅ্যাকশন বা বৈশিষ্ট্য বর্ণনা করে, তাহলে আপনি এমন একটি সাধারণ নাম ব্যবহার করতে পারেন যা ব্যবহারকারীরা চিনতে এবং আশা করে, যেমন Settings বা Feedback । অন্যথায়, অনন্য কমান্ড নাম ব্যবহার করার চেষ্টা করুন, কারণ যদি আপনার কমান্ডের নাম অন্যান্য চ্যাট অ্যাপের জন্য একই হয়, তাহলে ব্যবহারকারীকে আপনার কমান্ডটি খুঁজে পেতে এবং ব্যবহার করতে একই ধরণের কমান্ড ফিল্টার করতে হবে।

একটি কমান্ড বর্ণনা করতে:

  • বর্ণনাটি সংক্ষিপ্ত এবং স্পষ্ট রাখুন যাতে ব্যবহারকারীরা কমান্ডটি ব্যবহার করার সময় কী আশা করতে পারেন তা জানতে পারেন।
  • কমান্ডটির জন্য কোনও ফর্ম্যাটিং প্রয়োজনীয়তা আছে কিনা তা ব্যবহারকারীদের জানান। উদাহরণস্বরূপ, যদি আপনি এমন একটি স্ল্যাশ কমান্ড তৈরি করেন যার জন্য আর্গুমেন্ট টেক্সট প্রয়োজন হয়, তাহলে বর্ণনাটি Remind me to do [something] at [time] এর মতো কিছুতে সেট করুন।
  • ব্যবহারকারীদের জানান যে চ্যাট অ্যাপটি স্পেসে থাকা সকলের উত্তর দেয় কিনা, নাকি কমান্ডটি আহ্বানকারী ব্যবহারকারীর ব্যক্তিগতভাবে উত্তর দেয়। উদাহরণস্বরূপ, দ্রুত About জন্য, আপনি এটিকে Learn about this app (Only visible to you) হিসাবে বর্ণনা করতে পারেন।

গুগল ক্লাউড কনসোলে কমান্ডটি কনফিগার করুন

স্ল্যাশ বা কুইক কমান্ড তৈরি করতে, আপনাকে Google Chat API-এর জন্য আপনার Chat অ্যাপের কনফিগারেশনে কমান্ড সম্পর্কে তথ্য উল্লেখ করতে হবে।

Google Chat API-তে একটি কমান্ড কনফিগার করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. গুগল ক্লাউড কনসোলে, মেনু > এপিআই এবং পরিষেবা > সক্ষম এপিআই এবং পরিষেবা > গুগল চ্যাট এপিআই ক্লিক করুন।

    Google Chat API পৃষ্ঠায় যান

  2. কনফিগারেশন ক্লিক করুন।

  3. কমান্ডের অধীনে, একটি কমান্ড যোগ করুন ক্লিক করুন।

  4. কমান্ডের জন্য একটি কমান্ড আইডি, বর্ণনা, কমান্ডের ধরণ এবং নাম লিখুন:

    • কমান্ড আইডি: ১ থেকে ১০০০ পর্যন্ত একটি সংখ্যা যা আপনার চ্যাট অ্যাপ কমান্ডটি চিনতে এবং প্রতিক্রিয়া জানাতে ব্যবহার করে।
    • বর্ণনা: কমান্ডটি কী করে তা বর্ণনা করে এমন লেখা। বর্ণনা সর্বাধিক ৫০টি অক্ষরের হতে পারে এবং বিশেষ অক্ষর অন্তর্ভুক্ত থাকতে পারে।
    • কমান্ডের ধরণ: কুইক কমান্ড অথবা স্ল্যাশ কমান্ড নির্বাচন করুন।
    • কুইক কমান্ড বা স্ল্যাশ কমান্ডের জন্য একটি নাম উল্লেখ করুন:
      • দ্রুত কমান্ডের নাম: ব্যবহারকারীরা মেনু থেকে কমান্ডটি চালু করার জন্য যে প্রদর্শন নামটি নির্বাচন করেন। ৫০টি অক্ষর পর্যন্ত হতে পারে এবং বিশেষ অক্ষর অন্তর্ভুক্ত থাকতে পারে। উদাহরণস্বরূপ, Remind me "।
      • স্ল্যাশ কমান্ডের নাম: ব্যবহারকারীরা যে টেক্সট টাইপ করে মেসেজে কমান্ডটি ব্যবহার করতে পারেন। স্ল্যাশ দিয়ে শুরু হতে হবে, শুধুমাত্র টেক্সট থাকতে হবে এবং সর্বোচ্চ ৫০টি অক্ষর থাকতে পারে। উদাহরণস্বরূপ, /remindMe
  5. ঐচ্ছিক: যদি আপনি চান যে আপনার চ্যাট অ্যাপটি একটি ডায়ালগের মাধ্যমে কমান্ডের প্রতিক্রিয়া জানাক, তাহলে একটি ডায়ালগ খুলুন চেকবক্সটি নির্বাচন করুন।

  6. সংরক্ষণ করুন ক্লিক করুন।

কমান্ডটি এখন চ্যাট অ্যাপের জন্য কনফিগার করা হয়েছে।

একটি আদেশের উত্তর দিন

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

সিম্বাল ল্যাবস চ্যাট অ্যাপের জন্য ব্যক্তিগত বার্তা। বার্তাটিতে বলা হয়েছে যে সিম্বাল ল্যাবস দ্বারা তৈরি চ্যাট অ্যাপটি ডকুমেন্টেশনের একটি লিঙ্ক এবং সহায়তা দলের সাথে যোগাযোগ করার জন্য একটি লিঙ্ক শেয়ার করা হয়েছে।
একটি চ্যাট অ্যাপ স্ল্যাশ কমান্ড /help এর সাথে ব্যক্তিগতভাবে সাড়া দেয় এবং কীভাবে সহায়তা পেতে হয় তা ব্যাখ্যা করে।

প্রতিটি ধরণের কমান্ডের প্রতিক্রিয়া জানাতে, আপনাকে ইভেন্ট পেলোডে বিভিন্ন ধরণের ইভেন্ট এবং মেটাডেটা অবজেক্ট পরিচালনা করতে হবে:

কমান্ডের ধরণ ইভেন্টের ধরণ কমান্ড মেটাডেটা
স্ল্যাশ কমান্ড MESSAGE message.slashCommand বা message.annotation.slashCommand
দ্রুত কমান্ড APP_COMMAND appCommandMetadata

কোনও বার্তার মাধ্যমে কোনও আদেশের জবাব কীভাবে দিতে হয় তা জানতে, নিম্নলিখিত বিভাগগুলি দেখুন।

স্ল্যাশ কমান্ডের উত্তর দিন

নিচের কোডটি একটি চ্যাট অ্যাপের উদাহরণ দেখায় যা /about স্ল্যাশ কমান্ডের উত্তর দেয়। চ্যাট অ্যাপটি MESSAGE ইন্টারঅ্যাকশন ইভেন্টগুলি পরিচালনা করে, ইন্টারঅ্যাকশন ইভেন্টে ম্যাচিং কমান্ড আইডি আছে কিনা তা সনাক্ত করে এবং একটি ব্যক্তিগত বার্তা ফেরত দেয়:

নোড.জেএস

নোড/অ্যাভাটার-অ্যাপ/ইন্ডেক্স.জেএস
/**
 * 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.'
      });
  }
}

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

অ্যাপস-স্ক্রিপ্ট/অ্যাভাটার-অ্যাপ/অ্যাভাটার-অ্যাপ.জিএস
// 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.'
      };
  }
}

পাইথন

পাইথন/অ্যাভাটার-অ্যাপ/মেইন.পি
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 কনসোলে কমান্ড কনফিগার করার সময় আপনি যে কমান্ড আইডিটি নির্দিষ্ট করেছিলেন তা ব্যবহার করুন।

দ্রুত কমান্ডের উত্তর দিন

নিচের কোডটি একটি চ্যাট অ্যাপের উদাহরণ দেখায় যা দ্রুত কমান্ড Help এর উত্তর দেয়। চ্যাট অ্যাপটি APP_COMMAND ইন্টারঅ্যাকশন ইভেন্টগুলি পরিচালনা করে, ইন্টারঅ্যাকশন ইভেন্টে ম্যাচিং কমান্ড আইডি আছে কিনা তা সনাক্ত করে এবং একটি ব্যক্তিগত বার্তা ফেরত দেয়:

নোড.জেএস

নোড/অ্যাভাটার-অ্যাপ/ইন্ডেক্স.জেএস
/**
 * 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.'
      });
  }
}

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

অ্যাপস-স্ক্রিপ্ট/অ্যাভাটার-অ্যাপ/অ্যাভাটার-অ্যাপ.জিএস
/**
 * 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.'
      };
  }
}

পাইথন

পাইথন/অ্যাভাটার-অ্যাপ/মেইন.পি
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 Chat অ্যাপের জন্য ইন্টারেক্টিভ বৈশিষ্ট্য পরীক্ষা করুন দেখুন।

চ্যাট UI-তে কমান্ডটি কীভাবে পরীক্ষা এবং ব্যবহার করতে হয় তা জানতে, Google Chat সহায়তা ডকুমেন্টেশনে "Google Chat-এ অ্যাপ ব্যবহার করুন" দেখুন।