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


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

/help স্ল্যাশ কমান্ডের জবাবে ব্যক্তিগতভাবে উত্তর দিয়ে জানায় কীভাবে সহায়তা পাওয়া যাবে।প্রতিটি ধরণের কমান্ডের প্রতিক্রিয়া জানাতে, আপনাকে ইভেন্ট পেলোডে বিভিন্ন ইভেন্ট টাইপ এবং মেটাডেটা অবজেক্ট পরিচালনা করতে হবে:
| কমান্ডের ধরণ | ইভেন্টের ধরণ | কমান্ড মেটাডেটা |
|---|---|---|
| স্ল্যাশ কমান্ড | MESSAGE | message.slashCommand বা message.annotation.slashCommand |
| দ্রুত কমান্ড | APP_COMMAND | appCommandMetadata |
| বার্তা ক্রিয়া | APP_COMMAND | appCommandMetadata |
কোনো কমান্ডের জবাবে কীভাবে বার্তা পাঠাতে হয়, তা জানতে নিম্নলিখিত বিভাগগুলি দেখুন।
স্ল্যাশ কমান্ডের প্রতিক্রিয়া জানান
নিম্নলিখিত কোডটি একটি চ্যাট অ্যাপের উদাহরণ দেখায় যা /about স্ল্যাশ কমান্ডের উত্তর দেয়। চ্যাট অ্যাপটি MESSAGE ইন্টারঅ্যাকশন ইভেন্টগুলি পরিচালনা করে, ইন্টারঅ্যাকশন ইভেন্টটিতে সংশ্লিষ্ট কমান্ড আইডি আছে কিনা তা শনাক্ত করে এবং একটি ব্যক্তিগত বার্তা ফেরত পাঠায়:
নোড.জেএস
অ্যাপস স্ক্রিপ্ট
পাইথন
জাভা
গুগল ক্লাউড কনসোলে কমান্ডটি কনফিগার করার সময় আপনি যে কমান্ড আইডিটি নির্দিষ্ট করেছিলেন, ABOUT_COMMAND_ID এর জায়গায় সেই কমান্ড আইডিটি বসান।
দ্রুত নির্দেশের প্রতিক্রিয়া জানান
নিম্নলিখিত কোডটি একটি চ্যাট অ্যাপের উদাহরণ দেখায় যা 'Help' কুইক কমান্ডের উত্তর দেয়। চ্যাট অ্যাপটি APP_COMMAND ইন্টারঅ্যাকশন ইভেন্টগুলি পরিচালনা করে, ইন্টারঅ্যাকশন ইভেন্টটিতে সংশ্লিষ্ট কমান্ড আইডি আছে কিনা তা শনাক্ত করে এবং একটি ব্যক্তিগত বার্তা ফেরত পাঠায়:
নোড.জেএস
অ্যাপস স্ক্রিপ্ট
পাইথন
জাভা
গুগল ক্লাউড কনসোলে কমান্ডটি কনফিগার করার সময় আপনি যে কমান্ড আইডিটি নির্দিষ্ট করেছিলেন, HELP_COMMAND_ID এর জায়গায় সেই কমান্ড আইডিটি বসান।
একটি বার্তার ক্রিয়ার প্রতিক্রিয়া জানান
নিম্নলিখিত কোডটি একটি চ্যাট অ্যাপের উদাহরণ দেখায় যা 'Remind me' মেসেজ অ্যাকশনের উত্তর দেয়। চ্যাট অ্যাপটি APP_COMMAND ইন্টারঅ্যাকশন ইভেন্টগুলি পরিচালনা করে, ইন্টারঅ্যাকশন ইভেন্টটিতে সংশ্লিষ্ট কমান্ড আইডি আছে কিনা তা শনাক্ত করে এবং একটি ব্যক্তিগত বার্তা ফেরত পাঠায়:
নোড.জেএস
/**
* 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 handleAppCommand(event, res) {
// Collect the command ID and type from the event metadata.
const {appCommandId, appCommandType} = event.appCommandMetadata;
// Use appCommandType to detect message actions.
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.message.text;
// Return a response that includes details from the original message.
return res.send({
text: `Setting a reminder for this message: "${messageText}"`
});
}
}
অ্যাপস স্ক্রিপ্ট
/**
* 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.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.message.text;
// Return a response that includes details from the original message.
return { "text": "Setting a reminder for message: " + messageText };
}
}
পাইথন
def handle_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.
metadata = event.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 = event.get('message', {}).get('text')
# Return a response that includes details from the original message.
return {
"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 handleAppCommand(JsonObject event, HttpResponse response) throws Exception {
// Collect the command ID and type from the event metadata.
JsonObject metadata = event.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 = event.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);
response.getWriter().write(responseMessage.toString());
}
}
}
Google Cloud কনসোলে কমান্ডটি কনফিগার করার সময় আপনি যে কমান্ড আইডিটি নির্দিষ্ট করেছিলেন, সেটি দিয়ে REMIND_ME_COMMAND_ID প্রতিস্থাপন করুন।
কমান্ডটি পরীক্ষা করুন
কমান্ড এবং কোড পরীক্ষা করতে, Google Chat অ্যাপের ইন্টারেক্টিভ বৈশিষ্ট্যগুলি পরীক্ষা করুন দেখুন।
চ্যাট UI-তে কমান্ডটি কীভাবে পরীক্ষা ও ব্যবহার করতে হয় তা জানতে, Google Chat Help ডকুমেন্টেশনের "Use apps in Google Chat" অংশটি দেখুন।
সম্পর্কিত বিষয়
- কমান্ড ব্যবহার করে এমন চ্যাট অ্যাপের নমুনা দেখুন
- একটি বার্তা পাঠান
- ইন্টারেক্টিভ ডায়ালগ খুলুন