এই পৃষ্ঠায় একটি গুগল চ্যাট অ্যাপ হিসেবে কীভাবে সেট আপ করতে হয় এবং কমান্ডের উত্তর দিতে হয়, তা ব্যাখ্যা করা হয়েছে।
কমান্ডগুলো ব্যবহারকারীদের একটি চ্যাট অ্যাপের মূল বৈশিষ্ট্যগুলো খুঁজে পেতে ও ব্যবহার করতে সাহায্য করে। শুধুমাত্র চ্যাট অ্যাপই একটি কমান্ডের বিষয়বস্তু দেখতে পারে। উদাহরণস্বরূপ, যদি কোনো ব্যবহারকারী স্ল্যাশ কমান্ড ব্যবহার করে একটি বার্তা পাঠায়, তবে বার্তাটি কেবল সেই ব্যবহারকারী এবং চ্যাট অ্যাপই দেখতে পাবে।
আপনি কমান্ড তৈরি করবেন কিনা তা সিদ্ধান্ত নিতে এবং ব্যবহারকারীর মিথস্ক্রিয়া কীভাবে ডিজাইন করতে হয় তা বুঝতে, "সমস্ত ব্যবহারকারীর যাত্রা সংজ্ঞায়িত করুন" দেখুন।
চ্যাট অ্যাপ কমান্ডের প্রকারভেদ
আপনি চ্যাট অ্যাপের কমান্ডগুলোকে স্ল্যাশ কমান্ড, কুইক কমান্ড বা মেসেজ অ্যাকশন হিসেবে তৈরি করতে পারেন। প্রতিটি ধরনের কমান্ড ব্যবহার করার জন্য, ব্যবহারকারীরা নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করতে পারেন:স্ল্যাশ কমান্ড: ব্যবহারকারীরা মেনু থেকে একটি স্ল্যাশ কমান্ড বেছে নিতে পারেন অথবা একটি স্ল্যাশ (
/) টাইপ করে তারপরে একটি পূর্বনির্ধারিত টেক্সট, যেমন/about, লিখতে পারেন। চ্যাট অ্যাপগুলিতে সাধারণত স্ল্যাশ কমান্ডের জন্য আর্গুমেন্ট টেক্সটের প্রয়োজন হয়।আপনার চ্যাট অ্যাপে যদি ব্যবহারকারীর কাছ থেকে অতিরিক্ত ইনপুটের প্রয়োজন হয়, তাহলে একটি স্ল্যাশ কমান্ড তৈরি করুন। উদাহরণস্বরূপ, আপনি
/searchনামে একটি স্ল্যাশ কমান্ড তৈরি করতে পারেন, যা ব্যবহারকারী অনুসন্ধানের জন্য কোনো শব্দগুচ্ছ প্রবেশ করানোর পর চালু হবে, যেমন/search receipts।দ্রুত কমান্ড: ব্যবহারকারীরা চ্যাট বার্তার উত্তর দেওয়ার অংশ থেকে মেনু খুলে কমান্ড ব্যবহার করেন। কোনো কমান্ড ব্যবহার করতে, তাঁরা 'অ্যাড' (Add) এ ক্লিক করেন।
এবং মেনু থেকে একটি কমান্ড নির্বাচন করুন।
আপনার চ্যাট অ্যাপটি যদি অতিরিক্ত কোনো ইনপুটের জন্য অপেক্ষা না করে ব্যবহারকারীকে তাৎক্ষণিকভাবে সাড়া দিতে পারে, তাহলে একটি কুইক কমান্ড তৈরি করুন। উদাহরণস্বরূপ, আপনি 'র্যান্ডম ইমেজ' নামে একটি কুইক কমান্ড তৈরি করতে পারেন, যা সাথে সাথে একটি ছবি পাঠিয়ে দেবে।
মেসেজ অ্যাকশন: ( ডেভেলপার প্রিভিউ) ব্যবহারকারীরা কোনো মেসেজের উপর মাউস হোভার করে এবং থ্রি-ডট মেনুতে ক্লিক করে মেসেজ অ্যাকশন ব্যবহার করেন। কোনো কমান্ড ব্যবহার করার জন্য, তারা থ্রি-ডট মেনুটি খোলেন এবং মেনু থেকে একটি কমান্ড নির্বাচন করেন।
আপনার চ্যাট অ্যাপ যদি বার্তার প্রেক্ষাপটের ওপর ভিত্তি করে কোনো কাজ করতে পারে, তাহলে একটি মেসেজ অ্যাকশন তৈরি করুন।
নিম্নলিখিত ছবিগুলিতে দেখানো হয়েছে, ব্যবহারকারীরা কীভাবে স্ল্যাশ ও কুইক কমান্ড এবং মেসেজ অ্যাকশনের মেনুটি খুঁজে পান:


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

আপনার কমান্ডের জন্য নাম ও বিবরণ বাছাই করার সময় নিম্নলিখিত সুপারিশগুলো বিবেচনা করুন:
একটি কমান্ডের নাম দিতে:
- ব্যবহারকারীর কাছে নির্দেশাবলী স্পষ্ট করার জন্য সংক্ষিপ্ত, বর্ণনামূলক এবং কার্যকরী শব্দ বা বাক্যাংশ ব্যবহার করুন। উদাহরণস্বরূপ,
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) কনফিগারেশনে কমান্ড বা অ্যাকশনটি সম্পর্কে তথ্য উল্লেখ করতে হবে।
গুগল চ্যাট এপিআই-তে একটি কমান্ড কনফিগার করতে, নিম্নলিখিত ধাপগুলো সম্পন্ন করুন:
Google Cloud কনসোলে, > এপিআই ও পরিষেবা > সক্রিয় এপিআই ও পরিষেবা > Google Chat API- তে ক্লিক করুন।
কনফিগারেশন- এ ক্লিক করুন।
কানেকশন সেটিংস-এর অধীনে, ট্রিগার- এ যান এবং আপনার এন্ডপয়েন্টের বিবরণ উল্লেখ করুন। কমান্ডের প্রতিক্রিয়া জানাতে আপনাকে অবশ্যই নিম্নলিখিত বিভাগে এই ট্রিগারটি ব্যবহার করতে হবে।
- HTTP এন্ডপয়েন্ট ইউআরএল : আপনি এখানে একটি সাধারণ HTTP এন্ডপয়েন্ট ইউআরএল নির্দিষ্ট করতে পারেন। বিকল্পভাবে, বিভিন্ন ট্রিগারের জন্য ভিন্ন ভিন্ন HTTP এন্ডপয়েন্ট ব্যবহার করতে চাইলে, সরাসরি অ্যাপ কমান্ড ফিল্ডে এন্ডপয়েন্টটি নির্দিষ্ট করুন।
- অ্যাপস স্ক্রিপ্ট : অ্যাপস স্ক্রিপ্ট ডিপ্লয়মেন্ট আইডি লিখুন। ডিফল্টরূপে,
onAppCommandফাংশনটি কল করা হবে। ভিন্ন কোনো অ্যাপস স্ক্রিপ্ট ফাংশন ব্যবহার করতে চাইলে, অ্যাপ কমান্ড ফিল্ডে কাস্টম ফাংশনের নামটি উল্লেখ করুন।
Commands-এর অধীনে, Add a command-এ ক্লিক করুন।
কমান্ড সম্পর্কে নিম্নলিখিত তথ্য প্রবেশ করান:
- কমান্ড আইডি: ১ থেকে ১০০০ পর্যন্ত একটি সংখ্যা, যা আপনার চ্যাট অ্যাপ কমান্ডটি শনাক্ত করতে এবং প্রতিক্রিয়া জানাতে ব্যবহার করে।
- বিবরণ: যে লেখাটি কমান্ডের ব্যবহার ও ফরম্যাট করার পদ্ধতি বর্ণনা করে। বিবরণ সর্বোচ্চ ৫০ অক্ষরের হতে পারে।
- কমান্ডের ধরণ: কুইক কমান্ড , স্ল্যাশ কমান্ড , অথবা মেসেজ অ্যাকশন-এর মধ্যে যেকোনো একটি নির্বাচন করুন।
- কমান্ডটির জন্য একটি নাম নির্দিষ্ট করুন:
- দ্রুত কমান্ডের নাম: এটি সেই প্রদর্শিত নাম যা ব্যবহারকারীরা কমান্ডটি চালু করার জন্য মেনু থেকে নির্বাচন করেন। এটি ৫০ অক্ষর পর্যন্ত হতে পারে এবং এতে বিশেষ অক্ষরও অন্তর্ভুক্ত থাকতে পারে। উদাহরণস্বরূপ,
Remind me। - স্ল্যাশ কমান্ডের নাম: মেসেজে কমান্ডটি চালু করার জন্য ব্যবহারকারীরা যে টেক্সট টাইপ করেন। এটি অবশ্যই একটি স্ল্যাশ দিয়ে শুরু হতে হবে, এতে শুধুমাত্র টেক্সট থাকতে হবে এবং এটি সর্বোচ্চ ৫০ অক্ষরের হতে পারে। উদাহরণস্বরূপ,
/remindMe। - মেসেজ অ্যাকশনের নাম: ( ডেভেলপার প্রিভিউ) এটি সেই প্রদর্শিত নাম যা ব্যবহারকারীরা মেসেজ অ্যাকশনটি চালু করার জন্য মেনু থেকে নির্বাচন করেন। এটি সর্বোচ্চ ৫০ অক্ষরের হতে পারে এবং এতে বিশেষ অক্ষরও অন্তর্ভুক্ত থাকতে পারে। উদাহরণস্বরূপ,
Remind me।
- দ্রুত কমান্ডের নাম: এটি সেই প্রদর্শিত নাম যা ব্যবহারকারীরা কমান্ডটি চালু করার জন্য মেনু থেকে নির্বাচন করেন। এটি ৫০ অক্ষর পর্যন্ত হতে পারে এবং এতে বিশেষ অক্ষরও অন্তর্ভুক্ত থাকতে পারে। উদাহরণস্বরূপ,
ঐচ্ছিক: লোডিং নোটিফিকেশন বার্তা : ( ডেভেলপার প্রিভিউ) মেসেজ অ্যাকশনটি কার্যকর থাকাকালীন ব্যবহারকারীকে দেখানোর জন্য একটি টোস্ট নোটিফিকেশন বার্তা। শুধুমাত্র সেইসব মেসেজ অ্যাকশনের জন্য উপলব্ধ যেগুলো কোনো ডায়ালগ খোলে না।
ঐচ্ছিক: আপনি যদি চান আপনার চ্যাট অ্যাপটি কমান্ডের জবাবে একটি ডায়ালগ বক্স দেখাক, তাহলে ‘ওপেন এ ডায়ালগ’ চেকবক্সটি নির্বাচন করুন।
সংরক্ষণ করুন- এ ক্লিক করুন।
কমান্ডটি এখন চ্যাট অ্যাপের জন্য কনফিগার করা হয়েছে।
একটি আদেশের প্রতিক্রিয়া জানান
যখন ব্যবহারকারীরা কোনো কমান্ড ব্যবহার করেন, তখন আপনার চ্যাট অ্যাপ একটি ইভেন্ট অবজেক্ট গ্রহণ করে। ইভেন্ট পেলোডে একটি appCommandPayload অবজেক্ট থাকে, যাতে ব্যবহৃত কমান্ডের বিবরণ (কমান্ড আইডি এবং কমান্ডের ধরন সহ) দেওয়া থাকে, যাতে আপনি একটি উপযুক্ত প্রতিক্রিয়া ফেরত দিতে পারেন। অ্যাপ কমান্ড ট্রিগার কনফিগার করার সময় আপনি যে HTTP এন্ডপয়েন্ট বা অ্যাপস স্ক্রিপ্ট ফাংশন নির্দিষ্ট করেছিলেন, সেখানে এই ইভেন্ট অবজেক্টটি পাঠানো হয়।

/help স্ল্যাশ কমান্ডের জবাবে ব্যক্তিগতভাবে উত্তর দিয়ে জানায় কীভাবে সহায়তা পাওয়া যাবে। নিম্নলিখিত কোডটি একটি চ্যাট অ্যাপের উদাহরণ দেখায় যা /about স্ল্যাশ কমান্ডের উত্তরে একটি টেক্সট মেসেজ পাঠায়। স্ল্যাশ কমান্ডের উত্তর দেওয়ার জন্য, চ্যাট অ্যাপটি একটি App কমান্ড ট্রিগার থেকে ইভেন্ট অবজেক্ট পরিচালনা করে। যখন কোনো ইভেন্ট অবজেক্টের পেলোডে একটি স্ল্যাশ কমান্ড আইডি থাকে, তখন চ্যাট অ্যাপটি একটি createMessageAction অবজেক্ট সহ DataActions অ্যাকশনটি রিটার্ন করে:
নোড.জেএস
পাইথন
জাভা
অ্যাপস স্ক্রিপ্ট
এই কোড নমুনাটি ব্যবহার করতে, ABOUT_COMMAND_ID জায়গায় সেই কমান্ড আইডিটি বসান যা আপনি চ্যাট এপিআই-তে কমান্ডটি কনফিগার করার সময় নির্দিষ্ট করেছিলেন।
একটি বার্তার ক্রিয়ার প্রতিক্রিয়া জানান
নিম্নলিখিত কোডটি একটি চ্যাট অ্যাপের উদাহরণ দেখায় যা ' আমাকে মনে করিয়ে দিন ' মেসেজ অ্যাকশনের উত্তরে একটি টেক্সট মেসেজ পাঠায়। মেসেজ অ্যাকশনগুলিতে সাড়া দেওয়ার জন্য, চ্যাট অ্যাপটি একটি 'অ্যাপ কমান্ড ট্রিগার' থেকে ইভেন্ট অবজেক্টগুলি পরিচালনা করে। যখন একটি ইভেন্ট অবজেক্টের পেলোডে একটি মেসেজ অ্যাকশন কমান্ড আইডি থাকে, তখন চ্যাট অ্যাপটি একটি createMessageAction ' অবজেক্ট সহ DataActions ' অ্যাকশনটি রিটার্ন করে:
নোড.জেএস
/**
* Responds to an APP_COMMAND interaction event from Google Chat.
*
* @param {Object} event The interaction event from Google Chat.
* @param {Object} res The HTTP response object.
* @return {Object} The JSON response message with a confirmation.
*/
function onAppCommand(event, res) {
// Collect the command ID and type from the event metadata.
const {appCommandId, appCommandType} =
event.chat.appCommandPayload.appCommandMetadata;
if (appCommandType === 'MESSAGE_ACTION' &&
appCommandId === REMIND_ME_COMMAND_ID) {
// Message actions can access the context of the message they were
// invoked on, such as the text or sender of that message.
const messageText = event.chat.appCommandPayload.message.text;
// Return a response that includes details from the original message.
return res.json({
"hostAppDataAction": {
"chatDataAction": {
"createMessageAction": {
"message": {
"text": `Setting a reminder for message: "${messageText}"`
}
}
}
}
});
}
}
পাইথন
def on_app_command(event):
"""Responds to an APP_COMMAND interaction event from Google Chat.
Args:
event (dict): The interaction event from Google Chat.
Returns:
dict: The JSON response message with a confirmation.
"""
# Collect the command ID and type from the event metadata.
payload = event.get('chat', {}).get('appCommandPayload', {})
metadata = payload.get('appCommandMetadata', {})
if metadata.get('appCommandType') == 'MESSAGE_ACTION' and \
metadata.get('appCommandId') == REMIND_ME_COMMAND_ID:
# Message actions can access the context of the message they were
# invoked on, such as the text or sender of that message.
message_text = payload.get('message', {}).get('text')
# Return a response that includes details from the original message.
return {
"hostAppDataAction": {
"chatDataAction": {
"createMessageAction": {
"message": {
"text": f'Setting a reminder for message: "{message_text}"'
}
}
}
}
}
জাভা
/**
* Responds to an APP_COMMAND interaction event from Google Chat.
*
* @param event The interaction event from Google Chat.
* @param response The HTTP response object.
*/
void onAppCommand(JsonObject event, HttpResponse response) throws Exception {
// Collect the command ID and type from the event metadata.
JsonObject payload = event.getAsJsonObject("chat").getAsJsonObject("appCommandPayload");
JsonObject metadata = payload.getAsJsonObject("appCommandMetadata");
String appCommandType = metadata.get("appCommandType").getAsString();
if (appCommandType.equals("MESSAGE_ACTION")) {
int commandId = metadata.get("appCommandId").getAsInt();
if (commandId == REMIND_ME_COMMAND_ID) {
// Message actions can access the context of the message they were
// invoked on, such as the text or sender of that message.
String messageText = payload.getAsJsonObject("message").get("text").getAsString();
// Return a response that includes details from the original message.
JsonObject responseMessage = new JsonObject();
responseMessage.addProperty("text", "Setting a reminder for message: " + messageText);
JsonObject createMessageAction = new JsonObject();
createMessageAction.add("message", responseMessage);
JsonObject chatDataAction = new JsonObject();
chatDataAction.add("createMessageAction", createMessageAction);
JsonObject hostAppDataAction = new JsonObject();
hostAppDataAction.add("chatDataAction", chatDataAction);
JsonObject finalResponse = new JsonObject();
finalResponse.add("hostAppDataAction", hostAppDataAction);
response.getWriter().write(finalResponse.toString());
}
}
}
অ্যাপস স্ক্রিপ্ট
/**
* Responds to an APP_COMMAND interaction event in Google Chat.
*
* @param {Object} event The interaction event from Google Chat.
* @return {Object} The JSON response message with a confirmation.
*/
function onAppCommand(event) {
// Collect the command ID and type from the event metadata.
const {appCommandId, appCommandType} =
event.chat.appCommandPayload.appCommandMetadata;
if (appCommandType === 'MESSAGE_ACTION' &&
appCommandId === REMIND_ME_COMMAND_ID) {
// Message actions can access the context of the message they were
// invoked on, such as the text or sender of that message.
const messageText = event.chat.appCommandPayload.message.text;
// Return a response that includes details from the original message.
return CardService.newChatResponseBuilder()
.setText("Setting a reminder for message: " + messageText)
.build();
}
}
এই কোড স্যাম্পলটি ব্যবহার করতে, REMIND_ME_COMMAND_ID জায়গায় সেই কমান্ড আইডিটি বসান যা আপনি চ্যাট এপিআই-তে কমান্ডটি কনফিগার করার সময় নির্দিষ্ট করেছিলেন।
কমান্ডটি পরীক্ষা করুন
কমান্ড এবং কোড পরীক্ষা করতে, Google Chat অ্যাপের ইন্টারেক্টিভ বৈশিষ্ট্যগুলি পরীক্ষা করুন দেখুন।
চ্যাট UI-তে কমান্ডটি কীভাবে পরীক্ষা ও ব্যবহার করতে হয় তা জানতে, Google Chat Help ডকুমেন্টেশনের "Use apps in Google Chat" অংশটি দেখুন।
সম্পর্কিত বিষয়
- কমান্ড ব্যবহার করে এমন চ্যাট অ্যাপের নমুনা দেখুন
- একটি বার্তা পাঠান
- ইন্টারেক্টিভ ডায়ালগ খুলুন