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

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

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

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

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

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

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

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

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

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

পূর্বশর্ত

HTTP সম্পর্কে

একটি Google Workspace অ্যাড-অন যা Google Chat কে প্রসারিত করে। এটি তৈরি করতে, HTTP কুইকস্টার্ট সম্পূর্ণ করুন।

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

একটি Google Workspace অ্যাড-অন যা Google Chat কে প্রসারিত করে। এটি তৈরি করতে, Apps Script quickstart সম্পূর্ণ করুন।

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

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

  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 অ্যাপের কনফিগারেশনে কমান্ড সম্পর্কে তথ্য উল্লেখ করতে হবে।

গুগল চ্যাট এপিআই-তে একটি কমান্ড কনফিগার করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন: o গুগল চ্যাট এপিআই-তে একটি স্ল্যাশ কমান্ড কনফিগার করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

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

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

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

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

    1. HTTP এন্ডপয়েন্ট URL : আপনি এখানে একটি সাধারণ HTTP এন্ডপয়েন্ট URL নির্দিষ্ট করতে পারেন। বিকল্পভাবে, বিভিন্ন ট্রিগারের জন্য বিভিন্ন HTTP এন্ডপয়েন্ট ব্যবহার করতে, অ্যাপ কমান্ড ক্ষেত্রে সরাসরি এন্ডপয়েন্টটি নির্দিষ্ট করুন।
    2. অ্যাপস স্ক্রিপ্ট : অ্যাপস স্ক্রিপ্ট ডিপ্লয়মেন্ট আইডি লিখুন। ডিফল্টরূপে, onAppCommand ফাংশনটি চালু হবে। একটি ভিন্ন অ্যাপস স্ক্রিপ্ট ফাংশন ব্যবহার করতে, অ্যাপ কমান্ড ক্ষেত্রে কাস্টম ফাংশনের নাম উল্লেখ করুন।
  4. কমান্ডের অধীনে, একটি কমান্ড যোগ করুন ক্লিক করুন।

  5. কমান্ড সম্পর্কে নিম্নলিখিত তথ্য লিখুন:

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

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

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

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

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

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

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

নোড.জেএস

নোড/চ্যাট/অ্যাভাটার-অ্যাপ/ইন্ডেক্স.জেএস
// The ID of the slash command "/about".
// You must use the same ID in the Google Chat API configuration.
const ABOUT_COMMAND_ID = 1;

/**
 * Handle requests from Google Workspace add on
 *
 * @param {Object} req Request sent by Google Chat
 * @param {Object} res Response to be sent back to Google Chat
 */
http('avatarApp', (req, res) => {
  const chatEvent = req.body.chat;
  let message;
  if (chatEvent.appCommandPayload) {
    message = handleAppCommand(chatEvent);
  } else {
    message = handleMessage(chatEvent);
  }
  res.send({ hostAppDataAction: { chatDataAction: { createMessageAction: {
    message: message
  }}}});
});

/**
 * Responds to an APP_COMMAND event in Google Chat.
 *
 * @param {Object} event the event object from Google Chat
 * @return the response message object.
 */
function handleAppCommand(event) {
  switch (event.appCommandPayload.appCommandMetadata.appCommandId) {
    case ABOUT_COMMAND_ID:
      return {
        text: 'The Avatar app replies to Google Chat messages.'
      };
  }
}

পাইথন

পাইথন/চ্যাট/অ্যাভাটার-অ্যাপ/মেইন.পি
# The ID of the slash command "/about".
# You must use the same ID in the Google Chat API configuration.
ABOUT_COMMAND_ID = 1

@functions_framework.http
def avatar_app(req: flask.Request) -> Mapping[str, Any]:
  """Handle requests from Google Workspace add on

  Args:
    flask.Request req: the request sent by Google Chat

  Returns:
    Mapping[str, Any]: the response to be sent back to Google Chat
  """
  chat_event = req.get_json(silent=True)["chat"]
  if chat_event and "appCommandPayload" in chat_event:
    message = handle_app_command(chat_event)
  else:
    message = handle_message(chat_event)
  return { "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
      "message": message
  }}}}

def handle_app_command(event: Mapping[str, Any]) -> Mapping[str, Any]:
  """Responds to an APP_COMMAND event in Google Chat.

  Args:
    Mapping[str, Any] event: the event object from Google Chat

  Returns:
    Mapping[str, Any]: the response message object.
  """
  if event["appCommandPayload"]["appCommandMetadata"]["appCommandId"] == ABOUT_COMMAND_ID:
    return {
      "text": "The Avatar app replies to Google Chat messages.",
    }
  return {}

জাভা

java/chat/avatar-app/src/main/java/com/google/chat/avatar/App.java
// The ID of the slash command "/about".
// You must use the same ID in the Google Chat API configuration.
private static final int ABOUT_COMMAND_ID = 1;

private static final Gson gson = new Gson();

/**
 * Handle requests from Google Workspace add on
 * 
 * @param request the request sent by Google Chat
 * @param response the response to be sent back to Google Chat
 */
@Override
public void service(HttpRequest request, HttpResponse response) throws Exception {
  JsonObject event = gson.fromJson(request.getReader(), JsonObject.class);
  JsonObject chatEvent = event.getAsJsonObject("chat");
  Message message;
  if (chatEvent.has("appCommandPayload")) {
    message = handleAppCommand(chatEvent);
  } else {
    message = handleMessage(chatEvent);
  }
  JsonObject createMessageAction = new JsonObject();
  createMessageAction.add("message", gson.fromJson(gson.toJson(message), JsonObject.class));
  JsonObject chatDataAction = new JsonObject();
  chatDataAction.add("createMessageAction", createMessageAction);
  JsonObject hostAppDataAction = new JsonObject();
  hostAppDataAction.add("chatDataAction", chatDataAction);
  JsonObject dataActions = new JsonObject();
  dataActions.add("hostAppDataAction", hostAppDataAction);
  response.getWriter().write(gson.toJson(dataActions));
}

/**
 * Handles an APP_COMMAND event in Google Chat.
 *
 * @param event the event object from Google Chat
 * @return the response message object.
 */
private Message handleAppCommand(JsonObject event) throws Exception {
  switch (event.getAsJsonObject("appCommandPayload")
    .getAsJsonObject("appCommandMetadata").get("appCommandId").getAsInt()) {
    case ABOUT_COMMAND_ID:
      return new Message()
        .setText("The Avatar app replies to Google Chat messages.");
    default:
      return null;
  }
}

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

অ্যাপস-স্ক্রিপ্ট/চ্যাট/অ্যাভাটার-অ্যাপ/কোড.জিএস
// The ID of the slash command "/about".
// You must use the same ID in the Google Chat API configuration.
const ABOUT_COMMAND_ID = 1;

/**
 * Responds to an APP_COMMAND event in Google Chat.
 *
 * @param {Object} event the event object from Google Chat
 */
function onAppCommand(event) {
  // Executes the app command logic based on ID.
  switch (event.chat.appCommandPayload.appCommandMetadata.appCommandId) {
    case ABOUT_COMMAND_ID:
      return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
        text: 'The Avatar app replies to Google Chat messages.'
      }}}}};
  }
}

এই কোড নমুনাটি ব্যবহার করতে, ABOUT_COMMAND_ID Chat API তে কমান্ড কনফিগার করার সময় নির্দিষ্ট করা কমান্ড ID দিয়ে প্রতিস্থাপন করুন।

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

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

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