1. ভূমিকা
Google চ্যাট অ্যাপগুলি সরাসরি চ্যাটে পরিষেবা এবং সংস্থান নিয়ে আসে যেখানে ব্যবহারকারীরা তথ্য পান এবং কথোপকথন ছেড়ে না দিয়ে পদক্ষেপ নিতে পারেন।
এই কোডল্যাবে, আপনি কীভাবে একটি চ্যাট অ্যাপ তৈরি করবেন তা শিখবেন—"অ্যাটেন্ডেন্স চ্যাট অ্যাপ"—যা Gmail-এ ছুটির উত্তরদাতাদের সেট করে এবং Google ক্যালেন্ডারে মিটিং শিডিউল করে। Google Apps স্ক্রিপ্টে অ্যাটেনডেন্স চ্যাট অ্যাপ তৈরি করে, আপনি সহজেই অন্যান্য Google পরিষেবাগুলি যেমন ড্রাইভ, Gmail, ক্যালেন্ডার, ডক্স, পত্রক এবং আরও অনেক কিছু অ্যাক্সেস করতে পারেন৷
আপনি কি শিখবেন
- চ্যাটে উত্থাপিত ইভেন্টগুলিতে হ্যান্ডলারদের কীভাবে যুক্ত করবেন
- চ্যাট থেকে পাঠানো ইভেন্ট অবজেক্টগুলি কীভাবে পার্স করবেন
- কার্ড-ফরম্যাট করা প্রতিক্রিয়াগুলির সাথে চ্যাটে কীভাবে প্রতিক্রিয়া জানাবেন
- কার্ডে বোতাম ক্লিকের জন্য কাস্টম অ্যাকশনগুলিকে কীভাবে সংজ্ঞায়িত করবেন এবং প্রতিক্রিয়া জানাবেন
আপনি কি প্রয়োজন হবে
- ইন্টারনেট এবং একটি ওয়েব ব্রাউজারে অ্যাক্সেস।
- Google Chat- এ অ্যাক্সেস সহ একটি Google Workspace অ্যাকাউন্ট।
- বেসিক জাভাস্ক্রিপ্ট দক্ষতা—Google Apps স্ক্রিপ্ট শুধুমাত্র জাভাস্ক্রিপ্ট সমর্থন করে।
2. নমুনা কোড পান
আপনি হয় একটি জিপ ফাইল ডাউনলোড করতে পারেন বা এই নমুনার প্রতিটি ধাপের কোড দেখতে GitHub সংগ্রহস্থল ক্লোন করতে পারেন।
solutions/attendance-chat-app
অধীনে step-NN
ফোল্ডারে এই কোডল্যাবের প্রতিটি ধাপের কাঙ্খিত শেষ অবস্থা রয়েছে। তারা রেফারেন্স জন্য আছে.
কোডটি ডাউনলোড করুন
এই কোডল্যাবের কোডটি ডাউনলোড করতে, নিম্নলিখিত বোতামটি ক্লিক করুন:
ডাউনলোড করা জিপ ফাইলটি আনপ্যাক করুন। এটি একটি রুট ফোল্ডার ( apps-script-samples
) আনপ্যাক করে, যাতে solutions/attendance-chat-app
অধীনে এই কোডল্যাবের প্রতিটি ধাপের জন্য একটি ফোল্ডার রয়েছে।
GitHub সংগ্রহস্থল ক্লোন করুন
এই কোডল্যাবের জন্য GitHub সংগ্রহস্থল ক্লোন করতে, নিম্নলিখিত কমান্ডটি চালান:
git clone https://github.com/googleworkspace/apps-script-samples
3. গুগল চ্যাট ইভেন্টের জন্য হ্যান্ডলার তৈরি করুন
একটি অ্যাপস স্ক্রিপ্ট প্রকল্প তৈরি করুন
একটি Apps স্ক্রিপ্ট প্রকল্প তৈরি করতে, নিম্নলিখিত পদক্ষেপগুলি নিন:
- script.new এ যান।
- শিরোনামহীন প্রকল্পে ক্লিক করুন।
- স্ক্রিপ্ট অ্যাটেন্ডেন্স চ্যাট অ্যাপটির নাম পরিবর্তন করুন এবং পুনঃনামকরণ ক্লিক করুন।
গুগল চ্যাটে ইভেন্ট
চ্যাটের সাথে বেশিরভাগ অ্যাপস স্ক্রিপ্ট ইন্টারঅ্যাকশন ইভেন্ট-চালিত। ব্যবহারকারী, চ্যাট অ্যাপ এবং চ্যাটের মধ্যে মিথস্ক্রিয়া সাধারণত এই ক্রম অনুসরণ করে:
- একজন ব্যবহারকারী একটি ক্রিয়া শুরু করেন, যেমন একটি স্পেসে একটি চ্যাট অ্যাপ যোগ করা, একটি চ্যাট অ্যাপের মাধ্যমে একটি সরাসরি বার্তা (DM) শুরু করা বা একটি স্থান থেকে একটি চ্যাট অ্যাপ সরানো।
- ক্রিয়াটি চ্যাটে চ্যাট অ্যাপের লক্ষ্যে একটি ইভেন্ট উত্থাপন করে।
- চ্যাট অ্যাপের স্ক্রিপ্টে সংজ্ঞায়িত সংশ্লিষ্ট ইভেন্ট হ্যান্ডলারকে কল করে।
চ্যাট 4টি ইভেন্ট উত্থাপন করে যা আপনার অ্যাপ শুনতে পারে:
-
ADDED_TO_SPACE
: এই ঘটনাটি ঘটে যখন একজন মানব ব্যবহারকারী একটি স্পেস বা সরাসরি বার্তা (DM) এ একটি চ্যাট অ্যাপ যোগ করে। অ্যাপস স্ক্রিপ্টে, আপনি এই ইভেন্টটি পরিচালনা করার জন্য একটিonAddToSpace()
ফাংশন সংজ্ঞায়িত করেন। -
REMOVED_FROM_SPACE
: এই ইভেন্টটি ঘটে যখন কোনও ব্যবহারকারী স্পেস বা DM থেকে চ্যাট অ্যাপটি সরিয়ে দেয়। এই ইভেন্টটি চ্যাটে কোনো প্রতিক্রিয়া পোস্ট করে না। অ্যাপস স্ক্রিপ্টে, আপনি এই ইভেন্টটি পরিচালনা করতে একটিonRemoveFromSpace()
ফাংশন সংজ্ঞায়িত করেন। -
MESSAGE
: এই ইভেন্টটি ঘটে যখন একজন ব্যবহারকারী চ্যাট অ্যাপে মেসেজ করেন, হয় সরাসরি DM-তে অথবা একটি স্পেস-এ @উল্লেখ হিসেবে। অ্যাপস স্ক্রিপ্টে, আপনি এই ইভেন্টে প্রতিক্রিয়া জানাতে একটিonMessage()
ফাংশন সংজ্ঞায়িত করেন। -
CARD_CLICKED
: এই ইভেন্টটি ঘটে যখন ব্যবহারকারী একটি বোতামে ক্লিক করে একটি কাস্টম অ্যাকশনের সাথে বরাদ্দ করে৷ অ্যাপস স্ক্রিপ্টে, আপনি এই ইভেন্টে প্রতিক্রিয়া জানাতে একটিonCardClick()
ফাংশন সংজ্ঞায়িত করেন।
Code.gs
ফাইলের বিষয়বস্তুগুলিকে নিম্নলিখিত কোড দিয়ে প্রতিস্থাপন করুন যা ADDED_TO_SPACE
এবং REMOVE_FROM_SPACE
ইভেন্টগুলির জন্য হ্যান্ডলারকে সংজ্ঞায়িত করে৷ (আপনি এই কোডল্যাবে পরে MESSAGE
এবং CARD_CLICKED
ইভেন্টের জন্য হ্যান্ডলার যোগ করবেন।)
Code.gs
/**
* Responds to an ADDED_TO_SPACE event in Google Chat.
* @param {object} event the event object from Google Chat
* @return {object} JSON-formatted response
* @see https://developers.google.com/workspace/chat/receive-respond-interactions
*/
function onAddToSpace(event) {
console.info(event);
var message = 'Thank you for adding me to ';
if (event.space.type === 'DM') {
message += 'a DM, ' + event.user.displayName + '!';
} else {
message += event.space.displayName;
}
return { text: message };
}
/**
* Responds to a REMOVED_FROM_SPACE event in Google Chat.
* @param {object} event the event object from Google Chat
* @see https://developers.google.com/workspace/chat/receive-respond-interactions
*/
function onRemoveFromSpace(event) {
console.info(event);
console.log('Chat app removed from ', event.space.name);
}
4. চ্যাট অ্যাপ প্রকাশ ও পরীক্ষা করুন
আপনার স্ক্রিপ্ট ম্যানিফেস্ট ফাইল আপডেট করুন
চ্যাটে আপনার অ্যাপ প্রকাশ করার আগে, আপনাকে অবশ্যই স্ক্রিপ্ট ম্যানিফেস্ট আপডেট করতে হবে।
- প্রকল্প সেটিংস ক্লিক করুন
.
- সম্পাদক চেকবক্সে "appsscript.json" ম্যানিফেস্ট ফাইল দেখান নির্বাচন করুন।
- Editor এ ক্লিক করুন
.
-
appsscript.json
ফাইলে ক্লিক করুন। - আপনার ম্যানিফেস্ট ফাইলে
"chat": {}
লাইনটি যোগ করুন।
আপনার ম্যানিফেস্ট ফাইলটি নিম্নলিখিত উদাহরণের মতো দেখতে হবে।
appsscript.json
{
"timeZone": "America/Los_Angeles",
"dependencies": {
},
"chat": {}
}
একটি Google ক্লাউড প্রকল্প তৈরি করুন
Chat অ্যাপ চালানো ও পরীক্ষা করার আগে, আপনাকে অবশ্যই একটি Google ক্লাউড প্রোজেক্ট তৈরি করতে হবে, Chat API চালু ও কনফিগার করতে হবে এবং আপনার Google Workspace প্রতিষ্ঠানে আপনার Chat অ্যাপ প্রকাশ করতে হবে।
- গুগল ক্লাউড কনসোলে মেনুতে যান
> আইএএম এবং অ্যাডমিন > একটি প্রকল্প তৈরি করুন ।
- প্রকল্পের নামের জন্য একটি বর্ণনামূলক নাম লিখুন।
- অনুরোধ করা হলে, সংগঠন এবং বিলিং অ্যাকাউন্ট নির্বাচন করুন।
- তৈরি করুন ক্লিক করুন।
- যখন প্রকল্প তৈরি করা হয় তখন পৃষ্ঠার উপরের ডানদিকে একটি বিজ্ঞপ্তি প্রদর্শিত হয়। প্রকল্পটি খুলতে প্রকল্প তৈরি করুন: <প্রকল্পের নাম> এন্ট্রিতে ক্লিক করুন।
- মেনুতে ক্লিক করুন
> API এবং পরিষেবা > শংসাপত্র ।
- OAuth সম্মতি স্ক্রীনে ক্লিক করুন।
- অ্যাপ নামের জন্য, অ্যাটেনডেন্স চ্যাট অ্যাপে প্রবেশ করুন।
- অনুরোধ করা হলে, ব্যবহারকারী সমর্থন ইমেল এবং বিকাশকারী যোগাযোগের তথ্য লিখুন।
- সংরক্ষণ করুন এবং চালিয়ে যান ক্লিক করুন।
- সেটিংস এবং ইউটিলিটিগুলিতে ক্লিক করুন
> প্রকল্প সেটিংস ।
- প্রকল্প নম্বর কপি করুন।
- অ্যাপ স্ক্রিপ্ট এডিটরে ফিরে, প্রজেক্ট সেটিংসে ক্লিক করুন
.
- Google ক্লাউড প্ল্যাটফর্ম (GCP) প্রকল্পের অধীনে, প্রকল্প পরিবর্তন করুন ক্লিক করুন।
- GCP প্রকল্প নম্বর ক্লিক করুন এবং প্রকল্প নম্বর লিখুন।
- সেট প্রকল্প ক্লিক করুন.
চ্যাটে অ্যাপটি প্রকাশ করুন
Google Chat-এ আপনার চ্যাট অ্যাপ প্রকাশ করতে, নিম্নলিখিতগুলি করুন:
- Apps স্ক্রিপ্ট এডিটরে, Deploy > New deployment এ ক্লিক করুন।
- নির্বাচন প্রকারের পাশে স্থাপনার প্রকারগুলি সক্ষম করুন ক্লিক করুন
.
- অ্যাড-অন নির্বাচন করুন এবং স্থাপনে ক্লিক করুন।
- ডিপ্লয়মেন্ট আইডি কপি করুন এবং সম্পন্ন ক্লিক করুন।
- গুগল ক্লাউড কনসোলে মেনুতে যান
> API এবং পরিষেবা > লাইব্রেরি ।
- Google Chat API অনুসন্ধান করুন। ফলাফলের তালিকা থেকে API নির্বাচন করুন।
- Google Chat API পৃষ্ঠায়, Enable এ ক্লিক করুন।
- আপনি API সক্ষম করার পরে, কনফিগারেশন ক্লিক করুন। আপনাকে শংসাপত্র তৈরি করতে বলে যে কোনও বার্তা উপেক্ষা করুন।
- কনফিগারেশন পৃষ্ঠায়, নিম্নলিখিতগুলি করুন:
- পরিষ্কার করুন এই চ্যাট অ্যাপটিকে ওয়ার্কস্পেস অ্যাড-অন হিসাবে তৈরি করুন এবং নিশ্চিত করতে নিষ্ক্রিয় ক্লিক করুন৷
- অ্যাপ নামের জন্য, অ্যাটেনডেন্স চ্যাট অ্যাপে প্রবেশ করুন।
- Avatar URL-এর জন্য, https://goo.gl/kv2ENA লিখুন।
- বর্ণনার জন্য, অ্যাপস স্ক্রিপ্ট কোডল্যাব চ্যাট অ্যাপ লিখুন।
- কার্যকারিতার অধীনে, এক থেকে এক বার্তা গ্রহণ করুন নির্বাচন করুন।
- সংযোগ সেটিংসের অধীনে, অ্যাপস স্ক্রিপ্ট প্রকল্প নির্বাচন করুন এবং পাঠ্য বাক্সে আপনার স্ক্রিপ্টের স্থাপনার আইডি পেস্ট করুন।
- অনুমতির অধীনে, আপনার ডোমেনে নির্দিষ্ট ব্যক্তি এবং গোষ্ঠী নির্বাচন করুন। ড্রপ-ডাউন মেনুর নীচে টেক্সট বক্সে, আপনার Google Workspace সংস্থার সাথে যুক্ত আপনার ইমেল ঠিকানা লিখুন।
- Save এ ক্লিক করুন।
আপনি আপনার পরিবর্তনগুলি সংরক্ষণ করার পরে, যাচাই করুন যে Google Chat API পৃষ্ঠার স্থিতি অ্যাপের স্থিতিকে লাইভ হিসাবে দেখায় – ব্যবহারকারীদের জন্য উপলব্ধ ৷
চ্যাট অ্যাপটি পরীক্ষা করুন
Google Chat-এ আপনার অ্যাপ পরীক্ষা করতে, নিম্নলিখিতগুলি করুন:
- গুগল চ্যাট খুলুন।
- চ্যাট শুরু করুন ক্লিক করে চ্যাট অ্যাপে একটি নতুন সরাসরি বার্তা পাঠান
> অ্যাপস খুঁজুন ।
- অ্যাপস খুঁজুন পৃষ্ঠায়, অ্যাটেনডেন্স চ্যাট অ্যাপ খুঁজুন।
- অ্যাটেনডেন্স চ্যাট অ্যাপের পাশে, যোগ > চ্যাট ক্লিক করুন।
ডাইরেক্ট মেসেজ থ্রেড খোলা হলে, আপনি চ্যাট অ্যাপ থেকে একটি বার্তা দেখতে পাবেন যেটি একটি DM-তে যোগ করার জন্য আপনাকে ধন্যবাদ জানায়, যেমনটি নিচের ছবিতে দেখানো হয়েছে।
5. একটি কার্ড-ফরম্যাটেড প্রতিক্রিয়া সংজ্ঞায়িত করুন
আগের ধাপে, আপনার অ্যাপ Google Chat ইভেন্টে একটি সাধারণ টেক্সট প্রতিক্রিয়ার সাথে সাড়া দিয়েছে। এই ধাপে, আপনি কার্ডের সাথে প্রতিক্রিয়া জানাতে আপনার অ্যাপ আপডেট করবেন।
কার্ড প্রতিক্রিয়া
Google চ্যাট প্রতিক্রিয়ার জন্য কার্ড ব্যবহার সমর্থন করে। কার্ডগুলি হল ভিজ্যুয়াল কন্টেনার যা আপনাকে ইউজার ইন্টারফেস উইজেটগুলির সেটগুলিকে একসাথে গোষ্ঠীবদ্ধ করতে দেয়৷ কার্ডগুলি হেডার, পাঠ্য অনুচ্ছেদ, বোতামের সেট, চিত্র এবং কী/মান পাঠ্য প্রদর্শন করতে পারে। আপনার অ্যাপ Google চ্যাটে তার JSON প্রতিক্রিয়াতে এক বা একাধিক কার্ড সংজ্ঞায়িত করতে পারে, যা আপনার প্রতিক্রিয়াকে সংশ্লিষ্ট UI উপাদানগুলিতে অনুবাদ করে।
নিম্নলিখিত চিত্রটি তিনটি বিভাগ সহ একটি কার্ড প্রতিক্রিয়া দেখায়, যার মধ্যে একটি শিরোনাম, একটি কী/মান উইজেট, একটি চিত্র উইজেট এবং একটি পাঠ্য বোতাম রয়েছে৷
কার্ডের প্রতিক্রিয়া সহ ব্যবহারকারীর বার্তাগুলির প্রতিক্রিয়া জানাতে, আপনার চ্যাট অ্যাপের Code.gs
ফাইলে নিম্নলিখিত কোডটি যোগ করুন।
Code.gs
const DEFAULT_IMAGE_URL = 'https://goo.gl/bMqzYS';
const HEADER = {
header: {
title : 'Attendance Chat app',
subtitle : 'Log your vacation time',
imageUrl : DEFAULT_IMAGE_URL
}
};
/**
* Creates a card-formatted response.
* @param {object} widgets the UI components to send
* @return {object} JSON-formatted response
*/
function createCardResponse(widgets) {
return {
cards: [HEADER, {
sections: [{
widgets: widgets
}]
}]
};
}
/**
* Responds to a MESSAGE event triggered
* in Google Chat.
*
* @param event the event object from Google Chat
* @return JSON-formatted response
*/
function onMessage(event) {
const userMessage = event.message.text;
const widgets = [{
"textParagraph": {
"text": "You said: " + userMessage
}
}];
return createCardResponse(widgets);
}
এই ধাপে যোগ করা onMessage()
ফাংশনটি ব্যবহারকারীর মূল বার্তা পড়ে এবং একটি সাধারণ TextParagragh উইজেট হিসেবে একটি প্রতিক্রিয়া তৈরি করে। onMessage()
ফাংশনটি তারপর createCardResponse()
কল করে, যা একটি একক কার্ডের একটি অংশের মধ্যে TextParagraph উইজেট রাখে। চ্যাট অ্যাপটি কার্ডের প্রতিক্রিয়া দিয়ে তৈরি করা জাভাস্ক্রিপ্ট অবজেক্টকে Google Chat-এ ফেরত দেয়।
চ্যাট অ্যাপটি পরীক্ষা করুন
এই অ্যাপটি পরীক্ষা করতে, Google Chat- এ অ্যাপের সাথে আপনার সরাসরি বার্তায় ফিরে যান এবং একটি বার্তা টাইপ করুন (যেকোনও বার্তা হবে)।
মনে রাখবেন যে onMessage()
ইভেন্ট হ্যান্ডলার ব্যবহারকারীর আসল বার্তা বের করার জন্য Google Chat এর কাছে পাঠানো ইভেন্ট অবজেক্টকে পার্স করে। আপনি ইভেন্ট সম্পর্কে অন্যান্য ধরণের তথ্যও পেতে পারেন, যার মধ্যে ব্যবহারকারীর নাম যে ইভেন্টটি শুরু করেছে, তাদের ইমেল ঠিকানা, ইভেন্টটি যে স্থানটিতে ঘটেছে তার নাম এবং আরও অনেক কিছু।
Google Chat-এর পাঠানো ইভেন্ট অবজেক্টের গঠন সম্পর্কে আরও তথ্যের জন্য, ইভেন্ট ফরম্যাটের রেফারেন্স দেখুন।
6. কার্ডে বোতাম ক্লিকে প্রতিক্রিয়া দেখান
আগের ধাপে, আপনার চ্যাট অ্যাপটি ব্যবহারকারীর একটি বার্তার জবাব দিয়েছে—একটি MESSAGE
ইভেন্ট—একটি সাধারণ কার্ডের মাধ্যমে যাতে একটি TextParagragh উইজেট ছিল। এই ধাপে, আপনি একটি প্রতিক্রিয়া তৈরি করুন যাতে বোতামগুলি অন্তর্ভুক্ত থাকে, যেখানে প্রতিটি বোতামের জন্য একটি কাস্টম অ্যাকশন সংজ্ঞায়িত করা থাকে।
ইন্টারেক্টিভ কার্ড
কার্ডের প্রতিক্রিয়াগুলিতে দুটি ধরণের বোতামগুলির মধ্যে একটি থাকতে পারে: পাঠ্য বোতাম উইজেট, যা কেবল পাঠ্য বোতামগুলি প্রদর্শন করে; এবং ImageButton উইজেট, যা পাঠ্য ছাড়াই একটি সাধারণ আইকন বা চিত্র সহ একটি বোতাম প্রদর্শন করে। TextButton এবং ImageButton উভয় উইজেট দুটি onClick
আচরণের মধ্যে একটিকে সমর্থন করে (যেমন JSON প্রতিক্রিয়াতে Google চ্যাটে ফেরত পাঠানো হয়েছে): হয় openLink
বা action
। নাম থেকে বোঝা যায়, openLink
একটি নতুন ব্রাউজার ট্যাবে একটি নির্দিষ্ট লিঙ্ক খোলে।
action
অবজেক্ট বোতামটি সম্পাদন করার জন্য একটি কাস্টম অ্যাকশন নির্দিষ্ট করে। আপনি একটি অনন্য actionMethodName
এবং কী / মান প্যারামিটার জোড়ার একটি সেট সহ অ্যাকশন অবজেক্টে বেশ কয়েকটি অবাধ মান নির্দিষ্ট করতে পারেন।
বোতামের জন্য একটি action
বস্তু নির্দিষ্ট করা একটি ইন্টারেক্টিভ কার্ড তৈরি করে। ব্যবহারকারী যখন বার্তার বোতামে ক্লিক করেন, তখন Google চ্যাট একটি CARD_CLICKED
ইভেন্ট উত্থাপন করে এবং আসল বার্তাটি পাঠানো অ্যাপে একটি অনুরোধ পাঠায়। অ্যাপটিকে তখন Google চ্যাট থেকে উত্থাপিত ইভেন্টটি পরিচালনা করতে হবে এবং স্পেসটিতে একটি প্রতিক্রিয়া ফিরিয়ে দিতে হবে।
Code.gs
এ onMessage()
ফাংশনটি নিম্নলিখিত কোড দিয়ে প্রতিস্থাপন করুন। এই কোডটি Google চ্যাটে পাঠানো কার্ডে 2টি বোতাম, Gmail-এ একটি সেট ছুটি এবং ক্যালেন্ডার বোতামে একটি ব্লক আউট ডে তৈরি করে৷
Code.gs
const REASON = {
SICK: 'Out sick',
OTHER: 'Out of office'
};
/**
* Responds to a MESSAGE event triggered in Google Chat.
* @param {object} event the event object from Google Chat
* @return {object} JSON-formatted response
*/
function onMessage(event) {
console.info(event);
const reason = REASON.OTHER;
const name = event.user.displayName;
const userMessage = event.message.text;
// If the user said that they were 'sick', adjust the image in the
// header sent in response.
if (userMessage.indexOf('sick') > -1) {
// Hospital material icon
HEADER.header.imageUrl = 'https://goo.gl/mnZ37b';
reason = REASON.SICK;
} else if (userMessage.indexOf('vacation') > -1) {
// Spa material icon
HEADER.header.imageUrl = 'https://goo.gl/EbgHuc';
}
const widgets = [{
textParagraph: {
text: 'Hello, ' + name + '.<br/>Are you taking time off today?'
}
}, {
buttons: [{
textButton: {
text: 'Set vacation in Gmail',
onClick: {
action: {
actionMethodName: 'turnOnAutoResponder',
parameters: [{
key: 'reason',
value: reason
}]
}
}
}
}, {
textButton: {
text: 'Block out day in Calendar',
onClick: {
action: {
actionMethodName: 'blockOutCalendar',
parameters: [{
key: 'reason',
value: reason
}]
}
}
}
}]
}];
return createCardResponse(widgets);
}
CARD_CLICKED
ইভেন্ট পরিচালনা করতে, আপনার চ্যাট অ্যাপের স্ক্রিপ্টে onCardClick()
ফাংশন যোগ করতে হবে। নিম্নলিখিত কোড যোগ করুন যা onCardClick()
ফাংশন Code.gs
সংজ্ঞায়িত করে।
Code.gs
/**
* Responds to a CARD_CLICKED event triggered in Google Chat.
* @param {object} event the event object from Google Chat
* @return {object} JSON-formatted response
* @see https://developers.google.com/workspace/chat/receive-respond-interactions
*/
function onCardClick(event) {
console.info(event);
let message = '';
const reason = event.action.parameters[0].value;
if (event.action.actionMethodName == 'turnOnAutoResponder') {
turnOnAutoResponder(reason);
message = 'Turned on vacation settings.';
} else if (event.action.actionMethodName == 'blockOutCalendar') {
blockOutCalendar(reason);
message = 'Blocked out your calendar for the day.';
} else {
message = "I'm sorry; I'm not sure which button you clicked.";
}
return { text: message };
}
ব্যবহারকারীর ক্লিকের প্রতিক্রিয়া জানাতে, এখন চ্যাট অ্যাপ দুটি জিনিসের মধ্যে একটি করে: এটি Gmail-এ ব্যবহারকারীর ছুটির উত্তরদাতাকে একটি "অফিস-এর বাইরে" বার্তায় সেট করে; অথবা এটি ব্যবহারকারীর ক্যালেন্ডারে একটি সারাদিনের মিটিং নির্ধারণ করে। এই কাজগুলি সম্পন্ন করতে, অ্যাপটি Gmail উন্নত পরিষেবা এবং ক্যালেন্ডার পরিষেবাকে কল করে৷
Gmail এবং ক্যালেন্ডারের সাথে চ্যাট অ্যাপকে সংহত করতে আপনার স্ক্রিপ্টে নিম্নলিখিত কোডটি যোগ করুন।
Code.gs
const ONE_DAY_MILLIS = 24 * 60 * 60 * 1000;
/**
* Turns on the user's vacation response for today in Gmail.
* @param {string} reason the reason for vacation, either REASON.SICK or REASON.OTHER
*/
function turnOnAutoResponder(reason) {
let currentTime = (new Date()).getTime();
Gmail.Users.Settings.updateVacation({
enableAutoReply: true,
responseSubject: reason,
responseBodyHtml: "I'm out of the office today; will be back on the next business day.<br><br><i>Created by Attendance Chat app!</i>",
restrictToContacts: true,
restrictToDomain: true,
startTime: currentTime,
endTime: currentTime + ONE_DAY_MILLIS
}, 'me');
}
/**
* Places an all-day meeting on the user's Calendar.
* @param {string} reason the reason for vacation, either REASON.SICK or REASON.OTHER
*/
function blockOutCalendar(reason) {
CalendarApp.createAllDayEvent(reason, new Date(), new Date(Date.now() + ONE_DAY_MILLIS));
}
অবশেষে, আপনাকে অবশ্যই প্রকল্পে Gmail উন্নত পরিষেবা সক্ষম করতে হবে। Gmail API সক্ষম করতে, নিম্নলিখিতগুলি করুন:
- অ্যাপস স্ক্রিপ্ট এডিটরে, পরিষেবাগুলির পাশে, একটি পরিষেবা যোগ করুন ক্লিক করুন৷
.
- Gmail API নির্বাচন করুন।
- Google ক্লাউড প্ল্যাটফর্ম API ড্যাশবোর্ডে ক্লিক করুন যা Google ক্লাউড কনসোল খোলে।
- API এবং পরিষেবাগুলি সক্ষম করুন ক্লিক করুন৷
- Gmail API অনুসন্ধান করুন এবং Gmail API এ ক্লিক করুন।
- Gmail API পৃষ্ঠায়, Enable এ ক্লিক করুন।
চ্যাট অ্যাপটি পরীক্ষা করুন
আপনার চ্যাট অ্যাপের এই সংস্করণটি পরীক্ষা করতে, Google Chat-এর আগের ধাপে আপনি যে DMটি শুরু করেছিলেন সেটি খুলুন এবং I'm going on vacation টাইপ করুন। অ্যাপটিকে নীচের ছবির মতো একটি কার্ড দিয়ে প্রতিক্রিয়া জানাতে হবে।
দ্রষ্টব্য: যদি আপনাকে অ্যাপটিতে অ্যাক্সেস প্রদান করতে বলা হয়, তাহলে আপনাকে দ্বিতীয়বার আপনার বার্তা টাইপ করতে হতে পারে।
7. অভিনন্দন!
আপনার চ্যাট অ্যাপ এখন ব্যবহারকারীর মেসেজের উত্তর দিতে পারে, Gmail-এ তাদের ছুটির উত্তরদাতা সেট করতে পারে এবং তাদের ক্যালেন্ডারে সারাদিনের ইভেন্ট রাখতে পারে।
আমরা কভার করেছি কি
- অ্যাপস স্ক্রিপ্ট সহ একটি Google চ্যাট অ্যাপ তৈরি এবং প্রকাশ করা হয়েছে
- একটি সহজ প্রতিক্রিয়া সঙ্গে ব্যবহারকারী বার্তা প্রতিক্রিয়া
- Chat অ্যাপের মাধ্যমে ব্যবহারকারীর হয়ে অন্যান্য Google Workspace পরিষেবার সাথে ইন্টারঅ্যাক্ট করা হয়েছে