বটপ্রেসে কাস্টম বট অ্যাকশন তৈরি করা

Bataprese Kastama Bata A Yakasana Tairi Kara



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

বোটপ্রেসে অ্যাকশন বোঝা

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

যখন ডায়ালগ ম্যানেজার (DM) দ্বারা একটি ক্রিয়া আহ্বান করা হয়, তখন এটি বেশ কয়েকটি আর্গুমেন্ট পায় যা ফাংশনের প্রসঙ্গ প্রদান করে। এই আর্গুমেন্টগুলির মধ্যে রয়েছে ব্যবহারকারীর বৈশিষ্ট্য, সেশন ভেরিয়েবল, অস্থায়ী ভেরিয়েবল, বট-লেভেল ভেরিয়েবল, কথোপকথনের সর্বশেষ ব্যবহারকারী ইভেন্ট, ভিজ্যুয়াল ফ্লো বিল্ডার থেকে পাস করা আর্গুমেন্ট এবং একটি স্যান্ডবক্সড vm যাতে কিছু পরিবেশের ভেরিয়েবল রয়েছে।







নতুন কর্ম নিবন্ধন

কাস্টম বট ক্রিয়া যুক্ত করতে, আপনাকে একটি জাভাস্ক্রিপ্ট ফাইল (.js) তৈরি করতে হবে এবং এটিকে ডেটা/গ্লোবাল/ক্রিয়া আপনার বটপ্রেস প্রকল্পের মধ্যে ফোল্ডার। দুর্ভাগ্যবশত, রানটাইমের সময় প্রোগ্রাম্যাটিকভাবে নতুন অ্যাকশন যোগ করার কোনো উপায় নেই। আপনার কোডে JavaDoc মন্তব্যগুলি ব্যবহার করে, আপনি তাদের নাম, বিবরণ, আর্গুমেন্ট এবং ডিফল্ট মানগুলির মতো ক্রিয়া সম্পর্কে অর্থপূর্ণ তথ্য প্রদান করতে পারেন। আপনি JavaDoc মন্তব্যে @লুকানো সত্য পতাকা যোগ করে ফ্লো এডিটরে একটি অ্যাকশন লুকিয়ে রাখতে পারেন।



বটপ্রেসে কীভাবে কাস্টম অ্যাকশন তৈরি করবেন

এখানে কয়েকটি ধাপ রয়েছে যা আপনি Botpress এ একটি কাস্টম অ্যাকশন তৈরি করতে অনুসরণ করতে পারেন:



ধাপ 1: আপনার বট তৈরি করুন এবং একটি নোড যোগ করুন

শুরু করতে, Botpress এ একটি নতুন বট তৈরি করুন। একবার আপনার বট তৈরি হয়ে গেলে, কথোপকথনের প্রবাহে একটি নতুন নোড যোগ করুন।





ধাপ 2: আপনার নোডে উপযুক্ত বার্তা যোগ করুন

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



ধাপ 3: সাইডবার থেকে এক্সিকিউট কোড খুলুন

বটপ্রেস ফ্লো বিল্ডারের সাইডবারে নেভিগেট করুন এবং 'কোড এডিটর' খুলুন। এখানে আপনি আপনার কাস্টম ক্রিয়াগুলি তৈরি এবং পরিচালনা করতে পারেন৷

  C:\Users\user01\Desktop\4124.PNG

ধাপ 4: 'অ্যাড অ্যাকশন' বোতামে ক্লিক করুন

'Execute Code' বিভাগে, 'Add Action' বোতামে ক্লিক করুন। এই ক্রিয়াটি 'একটি নতুন কর্ম_উত্তরাধিকার তৈরি করুন' উইন্ডোটি খোলে।

  C:\Users\user01\Desktop\tempsnip.png

ধাপ 5: ফাইলটির জন্য একটি নাম উল্লেখ করুন এবং জমা বোতামে ক্লিক করুন

'একটি নতুন অ্যাকশন_লেগেসি তৈরি করুন' উইন্ডোতে, আপনার কাস্টম অ্যাকশন ফাইলের জন্য একটি অর্থপূর্ণ নাম দিন; উদাহরণস্বরূপ, customAction.js। একবার আপনি নাম উল্লেখ করলে, 'জমা দিন' বোতামে ক্লিক করুন। এটি 'customAction.js' ফাইল তৈরি করে।

ধাপ 6: আপনার কাস্টম কোড লিখুন

নতুন তৈরি “customAction.js” ফাইলটি খুলুন। ফাইলের ভিতরে, আপনি একটি নতুন কর্মের জন্য তৈরি করা বয়লারপ্লেট কোড দেখতে পাবেন। উপযুক্ত মন্তব্য ব্যবহার করে আপনার কাস্টম কর্মের জন্য একটি অর্থপূর্ণ বর্ণনা প্রদান করুন।

এখন, ফাংশনের মধ্যে আপনার কাস্টম কোড লিখুন। এই কোড আপনার কাস্টম কর্মের আচরণ সংজ্ঞায়িত করে. আপনি জাভাস্ক্রিপ্ট ব্যবহার করে বিভিন্ন কাজ করতে পারেন যেমন API কল করা, ডাটাবেস অ্যাক্সেস করা বা জটিল লজিক পরিচালনা করা।

ধাপ 7: কাস্টম অ্যাকশন ব্যবহার করতে আপনার নোড পরিবর্তন করুন

বটপ্রেস ফ্লো বিল্ডারে ফিরে যান এবং নোডটি পরিবর্তন করুন যেখানে আপনি আপনার কাস্টম অ্যাকশন ট্রিগার করতে চান। নোডে একটি 'Execute Code' কার্ড যোগ করুন।

ধাপ 8: আপনার কাস্টম অ্যাকশন নাম নির্বাচন করুন এবং অ্যাকশন প্যারামিটার নির্দিষ্ট করুন

'Execute Code' কার্ডে, আপনি একটি ড্রপডাউন তালিকা দেখতে পাবেন যাতে আপনার সমস্ত কাস্টম অ্যাকশনের নাম রয়েছে। তালিকা থেকে আপনার কাস্টম কর্মের নাম নির্বাচন করুন. যদি আপনার কাস্টম অ্যাকশনের জন্য কোনো প্যারামিটারের প্রয়োজন হয়, তাহলে আপনি সেগুলিকে 'Execute Code' কার্ডের 'প্যারামিটার' বিভাগে উল্লেখ করতে পারেন।

  C:\Users\user01\Desktop\tempsnip121.png

ধাপ 9: আপনার বটকে ক্রিয়া সম্পাদন করুন

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

কাস্টম অ্যাকশনের উদাহরণ

ধরা যাক আপনি আপনার চ্যাটবট একটি নির্দিষ্ট অবস্থানের জন্য বর্তমান আবহাওয়ার তথ্য প্রদান করতে চান। আপনি একটি কাস্টম অ্যাকশন তৈরি করতে পারেন যা একটি আবহাওয়া API কল করে এবং আবহাওয়ার ডেটা ফেরত দেয়।

const axios = প্রয়োজন ( 'অক্ষ' );

const getWeather = async ( ব্যবহারকারী , অধিবেশন, args) => {

const অবস্থান = args.location || 'নিউ ইয়র্ক' ;

const apiKey = 'আপনার_আবহাওয়া_এপি_কি' ;

const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${location}`;

চেষ্টা করুন {

const প্রতিক্রিয়া = await axios.get(apiUrl);

const weatherData = response.data;

return `${location}-এর বর্তমান আবহাওয়া হল ${weatherData.current.condition.text} যার তাপমাত্রা ${weatherData.current.temp_c}°C.`;

} ধরা (ত্রুটি) {

প্রত্যাবর্তন 'দুঃখিত, আমি পারলাম \' এই মুহুর্তে আবহাওয়ার তথ্য আনুন। অনুগ্রহ করে একটু পরে আবার চেষ্টা করুন.' ;

}

};

রিটার্ন গেটওয়েদার( ব্যবহারকারী , অধিবেশন, args);

এই ক্রিয়াটি ব্যবহারকারী, সেশন এবং আর্গ সহ কিছু আর্গুমেন্ট নেয় যা কাজটির সাথে কাজ করার জন্য প্রসঙ্গ এবং ডেটা প্রদান করে। এই উদাহরণে, 'getWeather' কাস্টম অ্যাকশন একটি যুক্তি হিসাবে অবস্থান নেয় বা প্রদান না করা হলে 'নিউ ইয়র্ক' এ ডিফল্ট করে। অ্যাকশনটি Axios ব্যবহার করে Weather API-কে কল করে, আবহাওয়ার ডেটা নিয়ে আসে এবং আবহাওয়ার অবস্থা এবং তাপমাত্রা ধারণ করে এমন একটি বার্তা ফেরত দেয়।

কাস্টম অ্যাকশনের সুবিধা

বটপ্রেসে কাস্টম অ্যাকশনগুলি বেশ কিছু সুবিধা অফার করে যা আপনার চ্যাটবটের ক্ষমতা এবং কার্যকারিতা বাড়ায়:

  1. তারা বিল্ট-ইন ক্ষমতার বাইরে চ্যাটবট কার্যকারিতা প্রসারিত করে।
  2. তারা একটি ভাল ব্যবহারকারীর অভিজ্ঞতার জন্য উপযুক্ত মিথস্ক্রিয়া তৈরি করে।
  3. তারা গতিশীল প্রতিক্রিয়ার জন্য API থেকে একটি রিয়েল-টাইম ডেটা আনে।
  4. তারা ব্যাকএন্ড সিস্টেম এবং ডাটাবেসের সাথে একত্রিত হয়।
  5. তারা কাস্টম কোড সহ জটিল পরিস্থিতি পরিচালনা করে।
  6. তারা চ্যাটবট এবং প্রবাহ জুড়ে ক্রিয়াগুলি পুনরায় ব্যবহার করে।
  7. তারা কাস্টম ত্রুটি পরিচালনা এবং লগিং বাস্তবায়ন করে।
  8. তারা সম্পদ-নিবিড় কাজগুলিকে অপ্টিমাইজ করে।
  9. তারা স্কেলিংয়ের জন্য বাহ্যিক পরিষেবাগুলি লাভ করে।
  10. তারা পূর্ব-নির্মিত কাস্টম অ্যাকশনগুলি অ্যাক্সেস করে এবং ভাগ করে।

উপসংহার

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