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

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

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

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

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

আপনি চ্যাট অ্যাপ কমান্ডগুলিকে স্ল্যাশ কমান্ড বা দ্রুত কমান্ড হিসাবে তৈরি করতে পারেন। প্রতিটি ধরণের কমান্ড আবিষ্কার এবং ব্যবহার করতে, ব্যবহারকারীরা নিম্নলিখিতগুলি করে:
  1. স্ল্যাশ কমান্ড: ব্যবহারকারীরা একটি স্ল্যাশ ( / ) এবং তারপর একটি পূর্বনির্ধারিত পাঠ্য টাইপ করে বার্তা হিসাবে কমান্ড পাঠায়, যেমন /about । চ্যাট অ্যাপগুলির স্ল্যাশ কমান্ডের জন্য আর্গুমেন্ট টেক্সটও প্রয়োজন হতে পারে। উদাহরণ স্বরূপ, স্ল্যাশ কমান্ড /search জন্য আর্গুমেন্ট টেক্সট প্রয়োজন হতে পারে যা সার্চ কোয়েরির জন্য ব্যবহৃত হয়।
  2. দ্রুত আদেশ: ব্যবহারকারীরা একটি চ্যাট বার্তার উত্তর এলাকা থেকে মেনু খুলে কমান্ড ব্যবহার করে। একটি কমান্ড ব্যবহার করতে, তারা যোগ ক্লিক করুন এবং মেনু থেকে একটি কমান্ড নির্বাচন করুন।
নিম্নলিখিত চিত্রগুলি দেখায় কিভাবে ব্যবহারকারীরা স্ল্যাশ কমান্ড এবং দ্রুত কমান্ডের একটি মেনু আবিষ্কার করে:
  • একজন ব্যবহারকারী স্ল্যাশ কমান্ড আবিষ্কার করে।
    চিত্র 1. ব্যবহারকারীরা একটি / টাইপ করে স্ল্যাশ কমান্ড আবিষ্কার এবং ব্যবহার করে উত্তরের এলাকায় কমান্ডের নাম অনুসরণ করে।
  • একজন ব্যবহারকারী মেনু থেকে দ্রুত কমান্ড দেখে।
    চিত্র 2. ব্যবহারকারীরা একটি চ্যাট বার্তার উত্তর অঞ্চলে মেনু থেকে দ্রুত কমান্ডগুলি আবিষ্কার করে এবং ব্যবহার করে৷

পূর্বশর্ত

Node.js

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

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

একটি Google চ্যাট অ্যাপ যা ইন্টারেক্টিভ বৈশিষ্ট্যের জন্য সক্ষম। Apps Script-এ একটি ইন্টারেক্টিভ চ্যাট অ্যাপ তৈরি করতে, এই কুইকস্টার্টটি সম্পূর্ণ করুন।

পাইথন

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

জাভা

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

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

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

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

কমান্ডের নাম এবং বর্ণনা করুন

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

স্ল্যাশ কমান্ডের নাম এবং বিবরণ
চিত্র 3 : একটি স্ল্যাশ কমান্ডের নাম এবং বিবরণ।

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

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

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

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

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

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

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

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

  1. Google ক্লাউড কনসোলে, মেনু > APIs & Services > Enabled APIs & Services > Google Chat API-এ ক্লিক করুন

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

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

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

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

    • কমান্ড আইডি: 1 থেকে 1000 পর্যন্ত একটি সংখ্যা যা আপনার চ্যাট অ্যাপ কমান্ড চিনতে এবং একটি প্রতিক্রিয়া ফেরাতে ব্যবহার করে।
    • নাম: কমান্ডের প্রদর্শনের নাম। নাম 50 অক্ষর পর্যন্ত হতে পারে এবং বিশেষ অক্ষর অন্তর্ভুক্ত করতে পারে।
    • বর্ণনা: কমান্ডটি কী করে তা বর্ণনা করে এমন পাঠ্য। বর্ণনা 50 অক্ষর পর্যন্ত হতে পারে এবং বিশেষ অক্ষর অন্তর্ভুক্ত করতে পারে।
    • কমান্ডের ধরন: দ্রুত কমান্ড বা স্ল্যাশ কমান্ড নির্বাচন করুন।
    • আপনি যদি একটি স্ল্যাশ কমান্ড কনফিগার করছেন, তাহলে ব্যবহারকারীরা কী টাইপ করবেন তা নির্দিষ্ট করতে স্ল্যাশ কমান্ডের নামের ক্ষেত্রে একটি মান লিখুন। একটি স্ল্যাশ দিয়ে শুরু করতে হবে, শুধুমাত্র পাঠ্য থাকতে হবে এবং 50টি অক্ষর পর্যন্ত হতে পারে৷ উদাহরণস্বরূপ, /remindMe
  5. ঐচ্ছিক: আপনি যদি চান যে আপনার চ্যাট অ্যাপ একটি ডায়ালগের সাথে কমান্ডের প্রতিক্রিয়া জানাতে, একটি ডায়ালগ খুলুন চেকবক্স নির্বাচন করুন।

  6. Save এ ক্লিক করুন।

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

একটি আদেশে সাড়া দিন

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

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

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

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

একটি বার্তা সহ একটি কমান্ডের প্রতিক্রিয়া জানাতে, নিম্নলিখিত বিভাগগুলি দেখুন৷

একটি স্ল্যাশ কমান্ডে সাড়া দিন

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

Node.js

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;
  }
}

আপনি Google ক্লাউড কনসোলে কমান্ডটি কনফিগার করার সময় যে কমান্ড আইডিটি নির্দিষ্ট করেছিলেন তার সাথে ABOUT_COMMAND_ID প্রতিস্থাপন করুন৷

দ্রুত আদেশে সাড়া দিন

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

Node.js

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;
  }
}

আপনি Google ক্লাউড কনসোলে কমান্ডটি কনফিগার করার সময় যে কমান্ড আইডিটি নির্দিষ্ট করেছিলেন তা দিয়ে HELP_COMMAND_ID প্রতিস্থাপন করুন৷

কমান্ড পরীক্ষা করুন

কমান্ড এবং কোড পরীক্ষা করতে, Google Chat অ্যাপের জন্য ইন্টারেক্টিভ বৈশিষ্ট্য পরীক্ষা করুন

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