টেলিগ্রাম বট এপিআই। টেলিগ্রামে বার্তা পাঠানোর একটি সহজ উপায়

  • টিউটোরিয়াল

চ্যাট বটগুলি একটি বরং আকর্ষণীয় বিষয় যা গীক উত্সাহী এবং কোম্পানি উভয়ের জন্যই আগ্রহের বিষয় যা তাদের গ্রাহকদের সাথে তাদের জন্য সবচেয়ে সুবিধাজনক উপায়ে মিথস্ক্রিয়া সংগঠিত করতে চায়৷


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

প্রথম ধাপ: পরিকাঠামো প্রস্তুত করুন।

এই ক্ষেত্রে, আমরা শুধুমাত্র টেলিগ্রাম বট এবং API.AI ব্যবহার করব, উভয় পরিষেবাই বিনামূল্যে প্রদান করা হয় - আমাদের যা করতে হবে তা হল অ্যাকাউন্ট তৈরি করা।

একটি টেলিগ্রাম বট তৈরি করুন

একটি বট তৈরি করতে, শুধু @BotFather লিখুন (এটি একটি বট যা অন্যান্য বট তৈরি এবং কনফিগার করতে পারে):

  1. কমান্ড পাঠান /newbot - এইভাবে আমরা @BotFather কে বলি যে আমাদের একটি নতুন বট দরকার
  2. এখন @BotFather আমাদেরকে নতুন বটের নাম দিতে বলবে। এই নাম আমাদের দ্বারা দেখা হবে
    ভবিষ্যত ব্যবহারকারী, তাই নাম পরিষ্কার এবং সহজ হওয়া উচিত।
  3. শেষ ধাপ হল বটটির ব্যবহারকারীর নাম নির্দেশ করা, যার শেষে আপনাকে অবশ্যই করতে হবে
    "বট" লিখুন।
  4. নাম না নেওয়া হলে, আমরা একটি নিশ্চিতকরণ বার্তা এবং একটি অ্যাক্সেস টোকেন পাই।

এটি পরিষ্কার করার জন্য, নীচে সমস্ত ক্রিয়া সহ একটি স্ক্রিনশট রয়েছে:

একটু তত্ত্ব

এটি একটি API.AI এজেন্ট তৈরি করার সময়, যা মূলত একটি প্রকল্প বা ধারক (আপনি এটিকে যা বলতে চান)। এজেন্টে প্রসঙ্গ, সত্তা এবং প্রতিক্রিয়াগুলির জন্য সেটিংস রয়েছে:

  • "প্রসঙ্গ" (উদ্দেশ্য)মধ্যে সংযোগ প্রতিফলিত করে ব্যবহারকারী কি বলেছেনএবং
    সেগুলো আমাদের প্রোগ্রাম কি করা উচিত
  • "সত্তা"জন্য প্যারামিটার মান নিষ্কাশন করার জন্য একটি টুল
    প্রাকৃতিক ভাষা থেকে আমাদের প্রোগ্রাম (যা বলা হয়েছে বা লেখা হয়েছে
    ব্যবহারকারী)
  • "উত্তর” আমাদের প্রোগ্রামের চূড়ান্ত ফলাফল, যা আমরা
    ব্যবহারকারীকে তার বার্তা পাঠান

কখনও কখনও বর্তমান সংলাপ থেকে তথ্য এই ক্ষেত্রে, আপনি স্ট্যাটিক সেট আপ করতে পারেন প্রতিক্রিয়া যথেষ্ট; উত্তরভি প্রসঙ্গ. বাস্তবে, একটি নির্দিষ্ট উত্তর পেতে, আমাদের একটি বাহ্যিক পরিষেবা বা আমাদের নিজস্ব ব্যবসায়িক যুক্তির প্রয়োজন হতে পারে, উদাহরণস্বরূপ, আগামীকালের আবহাওয়া সম্পর্কে তথ্য পেতে, আমাদের সংশ্লিষ্ট পরিষেবাটির বহিরাগত API কল করতে হবে৷ পরে আমি আপনাকে বলব কিভাবে বাহ্যিক সিস্টেম থেকে তথ্য গ্রহণ করতে হয়, কিন্তু প্রথমে, বেস প্রস্তুত করা যাক।

API.AI-তে একটি প্রকল্প তৈরি করুন

API.AI এর সাথে নিবন্ধন করতে, আপনার একটি Google অ্যাকাউন্টের প্রয়োজন হবে (শুধু এটি আপনার Gmail অ্যাকাউন্টে যোগ করুন)। এখন https://api.ai/-এ যান, “সাইন আপ ফর ফ্রী” বোতামে ক্লিক করুন, এবং তারপরে আপনি যার পক্ষে লগ ইন করতে চান সেই অ্যাকাউন্টটি নির্বাচন করুন।


এখন এজেন্ট নিজেই তৈরি করা যাক. "এজেন্ট তৈরি করুন" এ ক্লিক করুন এবং অন্তত একটি নাম, ভাষা এবং সময় অঞ্চল নির্দিষ্ট করুন।


ধাপ দুই: একটি এজেন্ট সেট আপ করুন.

ব্যবহারকারী কী বলে এবং আমাদের এজেন্টের কী করা উচিত তার মধ্যে সম্পর্ক প্রতিফলিত করে। আমাদের ক্ষেত্রে, আবহাওয়ার পূর্বাভাসের ক্ষেত্রে বিবেচনা করুন:


  1. "প্রসঙ্গ" বিভাগে ক্লিক করুন। অভিবাদন এবং ত্রুটির জন্য এজেন্ট ইতিমধ্যেই "প্রসঙ্গগুলি" কনফিগার করেছে;
  2. "প্রসঙ্গ" এর জন্য একটি নাম নির্দেশ করুন - যে কোনও নাম, যতক্ষণ না এটি আপনার এবং আপনার সহকর্মীদের কাছে বোধগম্য হয়।
  3. "ব্যবহারকারী বলে" বিভাগে, আপনার ব্যবহারকারী জিজ্ঞাসা করতে পারেন এমন প্রশ্নের উদাহরণ দিন। যেহেতু আমরা আবহাওয়া সম্পর্কে কথা বলছি, একজন ব্যক্তি সময় এবং স্থানের উপর ভিত্তি করে একটি প্রশ্ন জিজ্ঞাসা করতে পারেন - আসুন এটি বিবেচনায় নেওয়া যাক। আপনি সেটিংসে যত বেশি উদাহরণ প্রদান করবেন, এজেন্ট তত বেশি সঠিকভাবে কাজ করবে। আমি স্ক্রিনশটে কিছু উদাহরণ দিয়েছি:


শেষ উদাহরণে, "আগামীকাল" এবং "নিঝনি তাগিল" শব্দগুলিকে বিভিন্ন রঙে হাইলাইট করা হয়েছে - এইভাবে শব্দগুলি সত্তার সাথে যুক্ত ( সত্তা) (আমাদের ক্ষেত্রে, সিস্টেম সত্তা)। এই পরামিতিগুলি ব্যবহার করে, এজেন্ট কোন শহরে এবং কোন তারিখে আবহাওয়া পরীক্ষা করা প্রয়োজন তা "বুঝবে"।


আপনার আরও কয়েকটি উদাহরণ যোগ করুন এবং "সংরক্ষণ করুন" এ ক্লিক করুন।

পরীক্ষা করা যাক!

আসুন সাধারণ প্রশ্নগুলি ব্যবহার করে এজেন্টের কার্যকারিতা পরীক্ষা করি, উদাহরণস্বরূপ, "বুধবার পার্মে আবহাওয়া":



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


আমরা এখনও একটি স্বয়ংক্রিয় প্রতিক্রিয়া কনফিগার করিনি, তবে এজেন্ট ইতিমধ্যে কিছু পরামিতি নির্ধারণ করতে শিখেছে! INTENT বিভাগটি প্রতিফলিত করে যে, এজেন্টের "মতামত" অনুসারে, ব্যবহারকারী আবহাওয়ার প্রতি আগ্রহী (আমরা যে "প্রসঙ্গ" সেট আপ করি), এবং প্যারামিটার সংশ্লিষ্ট ভেরিয়েবলে শহরের তারিখ এবং নাম দেখায়।

স্বয়ংক্রিয় উত্তর যোগ করুন

আসুন আমাদের এজেন্টকে আরও আলাপচারী করে তুলুন! যতক্ষণ না আমরা বাহ্যিক উত্স থেকে আবহাওয়ার তথ্য পেতে শিখছি, আমরা উত্তর হিসাবে সহজ বাক্যাংশ যোগ করব।


"প্রতিক্রিয়া" বিভাগে যান এবং আপনি যেভাবে "ব্যবহারকারীর উত্তর" পূরণ করেছেন সেভাবে সহজ উত্তরগুলি লিখুন:



আপনি দেখতে পাচ্ছেন, আপনি প্রতিক্রিয়াগুলিতে চিহ্নিত সত্তার লিঙ্ক ব্যবহার করতে পারেন $ - এবং ইন্টারফেস আপনাকে একটি নির্দিষ্ট পরিবর্তনশীল নির্বাচন করতে অনুরোধ করবে।


একটি প্রতিক্রিয়া তৈরি করার সময়, এজেন্ট নির্দিষ্ট সত্তার সংখ্যা বিবেচনা করে এবং এমন প্রতিক্রিয়া ব্যবহার করে না যার জন্য পর্যাপ্ত ডেটা নেই। উদাহরণস্বরূপ, একটি শহর নির্দিষ্ট না করে একটি প্রশ্নের জন্য, এজেন্ট দ্বিতীয় লাইন থেকে উত্তর ব্যবহার করে।


সেটিংস সংরক্ষণ করুন এবং আবার পরীক্ষা করুন:



এখন আমাদেরও উত্তর আছে!

ধাপ তিন: একটি বাহ্যিক পরিষেবা যোগ করুন।

আমাদের এজেন্ট ইতিমধ্যে "বুঝে" কোন ক্ষেত্রে ব্যবহারকারী আবহাওয়া জানতে চায়, কোন তারিখে এবং কোন শহরে। এখন যা অবশিষ্ট থাকে তা হল একটি উপযুক্ত পরিষেবা থেকে এই ডেটা প্রাপ্ত করা এবং এটি এজেন্টের কাছে স্থানান্তর করা। এটি করার জন্য, আপনাকে JS-এ কয়েকটি স্ক্রিপ্ট লিখতে হবে এবং সেগুলিকে একটি ক্লাউড পরিষেবাতে রাখতে হবে, আমাদের ক্ষেত্রে, Google ক্লাউড প্রকল্প।

একটি স্টার্টার JS ফাইল তৈরি করুন

শুরু করতে, আপনার প্রকল্পের নামের সাথে একটি ডিরেক্টরি তৈরি করুন এবং যান:

    লিনাক্স বা ম্যাক ওএস এক্স:


    mkdir ~/
    সিডি ~/


    mkdir % হোমপ্যাথ%
    সিডি % হোমপ্যাথ%

এখন নিম্নলিখিত বিষয়বস্তু সহ একটি index.js ফাইল তৈরি করুন:


index.js কোড

/* * HTTP ক্লাউড ফাংশন। * * @param (অবজেক্ট) ক্লাউড ফাংশন অনুরোধের প্রসঙ্গ। * @param (অবজেক্ট) রেস ক্লাউড ফাংশন প্রতিক্রিয়া প্রসঙ্গ। */ exports.itsm365Weather = ফাংশন itsm365Weather (req, res) ( প্রতিক্রিয়া = "এটি আপনার ওয়েবহুক থেকে একটি নমুনা প্রতিক্রিয়া!" // ওয়েবহুক থেকে ডিফল্ট প্রতিক্রিয়া দেখানোর জন্য এটি কাজ করছে res.setHeader("Content-Type", "application/json"); // application/json MIME প্রকার res.send(JSON.stringify(( "speech": প্রতিক্রিয়া, "displayText": প্রতিক্রিয়া //"স্পীচ" হল প্রতিক্রিয়ার কথ্য সংস্করণ, "displayText" প্রয়োজন " হল ভিজ্যুয়াল সংস্করণ)));

Google ক্লাউড প্রকল্প সেট আপ করুন৷

  • সেটিংস করুন “আপনার আগে
    1 থেকে 5 পয়েন্ট থেকে শুরু করুন
  • কনসোলে রান করে ক্লাউডে ফাংশনটি স্থাপন করুন:


    gcloud বিটা ফাংশন স্থাপন করে itsm365Weather --stage-bucket --trigger-http

যেখানে itm365Weather হল ফাংশনের নাম এবং স্টোরেজের নাম
প্রকল্পের জন্য ডেটা।


অপারেশন শেষ হওয়ার পরে, আপনি http ট্রিগার URL সহ ফলাফল দেখতে পাবেন:


API.AI-তে ওয়েবহুক সক্ষম করুন

  1. নিশ্চিত করুন যে আপনি সঠিক এজেন্টে আছেন এবং তারপরে ক্লিক করুন " পূর্ণতাবাম লুকানো মেনুতে।
  2. স্ক্রিনের উপরের ডানদিকে ওয়েবহুক সক্ষম করুন।
  3. আগের ধাপে প্রাপ্ত URL লিখুন।
  4. আপনার পরিবর্তন সংরক্ষণ করুন.

"প্রসঙ্গ" সেটিংসে একটি নতুন ফাংশন কার্যকর করতে সক্ষম করুন৷

  1. আবহাওয়ার পূর্বাভাস "প্রসঙ্গ" সেটিংসে যান
  2. ব্লকটি প্রসারিত করুন পূর্ণতাপৃষ্ঠার নীচের অংশে অবস্থিত
  3. "ওয়েবহুক ব্যবহার করুন" বক্সটি চেক করুন
  4. সেটিংস সংরক্ষণ করুন এবং ফলাফল পরীক্ষা করুন:

আবহাওয়া API সেট আপ করুন

সরলতার জন্য, আমরা WWO (World Weather Online) পরিষেবা ব্যবহার করব, যেখানে আপনাকে একটি API কী পেতে হবে (শুধু Facebook বা Github-এর মাধ্যমে নিবন্ধন করুন)।


আবহাওয়ার তথ্য পেতে API কী লিখতে মনে রেখে শুরুর JS ফাইলে কোডটি আপডেট করুন:


আবহাওয়ার পূর্বাভাস পরিষেবার জন্য উত্স কোড

// কপিরাইট 2017, Google, Inc. // অ্যাপাচি লাইসেন্সের অধীনে লাইসেন্সকৃত, সংস্করণ 2.0 ("লাইসেন্স"); // আপনি লাইসেন্সের সাথে সম্মতি ছাড়া এই ফাইলটি ব্যবহার করতে পারবেন না। // আপনি লাইসেন্সের একটি অনুলিপি এখানে পেতে পারেন // // http://www.apache.org/licenses/LICENSE-2.0 // // যদি না প্রযোজ্য আইন দ্বারা প্রয়োজন হয় বা লিখিতভাবে সম্মত হন, সফ্টওয়্যার // এর অধীনে বিতরণ করা হয় লাইসেন্সটি "যেমন আছে" ভিত্তিতে বিতরণ করা হয়, // কোনো প্রকার ওয়্যারেন্টি বা শর্ত ছাড়াই, প্রকাশ বা উহ্য। // লাইসেন্সের অধীনে নির্দিষ্ট ভাষা পরিচালনার অনুমতি এবং // সীমাবদ্ধতার জন্য লাইসেন্স দেখুন। "কঠোর ব্যবহার করুন"; const http = প্রয়োজন("http"); const host = "api.worldweatheronline.com"; const wwoApiKey = "98cfb8e40ecc47c4a2f205209172608"; exports.itsm365Weather = (req, res) => ( // অনুরোধ থেকে শহর এবং তারিখ পান let city = req.body.result.parameters["geo-city"]; // শহর একটি প্রয়োজনীয় প্যারাম // পান আবহাওয়ার পূর্বাভাসের জন্য তারিখ (যদি উপস্থিত থাকে) দিন = ""; ("তারিখ: " + তারিখ); // আবহাওয়া API কল করুনওয়েদারএপি(শহর, তারিখ) তারপরে((আউটপুট) => ( // আবহাওয়া API-এর ফলাফল API.AI res.setHeader("সামগ্রী) তে ফেরত দিন -Type", "application/json"); res.send(JSON.stringify(( "speech": output, "displayText": output ))); )).catch((error) => ( // থাকলে res.setHeader("কন্টেন্ট-টাইপ", "application/json" res.send(JSON.stringify(("speech": error, "displayText") ; ফাংশন callWeatherApi (শহর, তারিখ) ( নতুন প্রতিশ্রুতি ফেরত দিন((সমাধান করুন, প্রত্যাখ্যান করুন) => ( // ওয়েদার লেট পাথ পেতে HTTP অনুরোধের জন্য পাথ তৈরি করুন = "/প্রিমিয়াম/v1/weather.ashx?format=json&num_of_days= 1" + "&q=" + encodeURICcomponent(city) + "&key=" + wwoApiKey + "&date=" + তারিখ + "&lang=ru"; console.log("API অনুরোধ: " + host + পথ); // আবহাওয়া পেতে HTTP অনুরোধ করুন http.get((host: host, path: path), (res) => ( let body = ""; // var রেসপন্স খন্ড res.on("data", সংরক্ষণ করতে (d) => ( body += d; )); // প্রতিটি প্রতিক্রিয়া খণ্ড res.on("end", () => ( // সমস্ত ডেটা পাওয়ার পরে JSON পার্স করুন প্রতিক্রিয়া দিন = JSON.parse(body); let forecast = response["data"]["request"]"]; let current Conditions = condition["lang_ru"] ["মান"]; // রেসপন্স লেট আউটপুট তৈরি করুন = $(অবস্থান["ক্যোয়ারী"]) $(বর্তমান অবস্থা) এ $(পূর্বাভাস["mintempC"] থেকে বায়ুর তাপমাত্রা )°C থেকে $(পূর্বাভাস["maxtempC"])°C `; // আউটপুট টেক্সট console.log(output) দিয়ে প্রতিশ্রুতি সমাধান করুন; সমাধান (আউটপুট); )); res.on("ত্রুটি", (ত্রুটি) => ( প্রত্যাখ্যান (ত্রুটি); )); )); )); )


ক্লাউড প্রজেক্টে ফাংশনটি পুনরায় স্থাপন করুন।

ধাপ চার: ডায়ালগ শাখা কনফিগার করা

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

"অবস্থান" একটি প্রয়োজনীয় প্যারামিটার করুন


"আবহাওয়া পূর্বাভাস" প্রসঙ্গ সেটিংস খুলুন এবং জিও-সিটি প্যারামিটারটিকে বাধ্যতামূলক হিসাবে নির্দিষ্ট করুন৷ তারপর "প্রম্পট" কলামের লিঙ্কটি ব্যবহার করে একটি স্পষ্ট প্রশ্ন সেট আপ করুন।


সেটিংস সংরক্ষণ করুন এবং একটি সাধারণ আবহাওয়ার প্রশ্ন জিজ্ঞাসা করে এজেন্টের আচরণ পরীক্ষা করুন:



এজেন্ট আমাদের একটি স্পষ্ট প্রশ্ন জিজ্ঞাসা করেছে কনসোল বর্তমানের পরামিতিগুলি প্রদর্শন করে
পরিস্থিতি

অবস্থানের জন্য রিটার্ন রিফাইনার তৈরি করুন

পূর্ববর্তী ব্যবহারকারীর যাত্রা থেকে প্রাপ্ত ডেটা ব্যবহার করতে, আপনাকে উপযুক্ত পরিমার্জনগুলি কনফিগার করতে হবে।



"আবহাওয়া পূর্বাভাস" প্রসঙ্গ সেটিংসে, "আউটপুট প্রসঙ্গ যোগ করুন" ক্ষেত্রে প্রত্যাবর্তিত স্পষ্টীকরণ "অবস্থান" এর নাম লিখুন এবং সেটিংস সংরক্ষণ করুন।

স্পষ্টীকরণের জন্য একটি নতুন প্রসঙ্গ তৈরি করুন

এটি সুবিধাজনক যখন আপনি ব্যবহারকারীকে কোন শহর বলতে চাচ্ছেন তা জিজ্ঞাসা না করে একই অবস্থান সম্পর্কে বিভিন্ন প্রশ্ন জিজ্ঞাসা করতে পারেন। আপনি ইতিমধ্যে একটি রিটার্ন যোগ্যতা কনফিগার করেছেন যা আপনি ফলো-আপ প্রশ্নগুলি পরিচালনা করতে ব্যবহার করতে পারেন।


  1. বিভাগে একটি নতুন প্রসঙ্গ তৈরি করুন অভিপ্রায়অথবা লাইনের আইকনে ক্লিক করুন
    অভিপ্রায়বাম পুল-আউট মেনু।
  2. নতুন প্রসঙ্গটির নাম দিন “আবহাওয়া আপডেট” (অথবা অন্য কোনো নাম যা আপনার কাছে অর্থবহ)।
  3. ইনকামিং এবং আউটগোয়িং রিফাইনারকে "অবস্থান" এ সেট করুন
  4. ব্যবহারকারীর মন্তব্য যোগ করুন, উদাহরণস্বরূপ, "কাল কি হবে?"
  5. নিম্নলিখিত মানগুলির সাথে একটি সত্তা প্যারামিটার যোগ করুন:
    - প্যারামিটার নাম:
    ভূ-শহর
    - মান:#location.geo-city
  6. " বিভাগে ব্যবহারকারীর জন্য একটি প্রতিক্রিয়া যোগ করুন৷ প্রতিক্রিয়া”:
    - "দুঃখিত, কিন্তু আমি #location.geo-city-এ $date-period-এর পূর্বাভাস পাচ্ছি না"
  7. ব্যবহার সক্ষম করুন ওয়েবহুকতালিকাতে পূর্ণতা.
  8. কনসোলে সেটিংস সংরক্ষণ করুন এবং পরীক্ষা করুন:

ধাপ পাঁচ: শুভেচ্ছা জানানো এবং অপ্রত্যাশিত পরিস্থিতি পরিচালনা করা

এজেন্টের প্রধান কঙ্কাল প্রস্তুত, এখন রোবট তৈরি করা একটি ভাল ধারণা
ব্যবহারকারীকে অভিবাদন জানায় এবং অপ্রত্যাশিত প্রশ্নের উত্তর কীভাবে দিতে হয় তাও জানত।

অপ্রত্যাশিত পরিস্থিতির জন্য ডিফল্ট প্রতিক্রিয়া সেট আপ করুন

যদি ব্যবহারকারী একটি অপ্রত্যাশিত প্রশ্ন জিজ্ঞাসা করে (আমাদের ক্ষেত্রে, আবহাওয়া সম্পর্কে নয়), এজেন্ট অপ্রত্যাশিত পরিস্থিতি পরিচালনা করার জন্য একটি প্রসঙ্গ অন্তর্ভুক্ত করবে ( ডিফল্ট ফলব্যাক ইন্টেন্ট):



এই প্রসঙ্গ সেট আপ করতে যান, প্রয়োজনে আপনার উত্তর বিকল্পগুলি কাস্টমাইজ করুন।

অভিবাদন প্রসঙ্গ সেট আপ করুন

অভিবাদনটি সংশ্লিষ্ট বিষয়বস্তুতে একইভাবে কাস্টমাইজ করা যেতে পারে -
ডিফল্ট স্বাগতম অভিপ্রায়


ধাপ ছয়: বট চালু করুন

টেলিগ্রাম বটকে এজেন্টের সাথে সংযুক্ত করুন

"ইন্টিগ্রেশন" সেটিংসে যান এবং বিভাগে বট সক্রিয় করুন
"এক-ক্লিক ইন্টিগ্রেশন":



@botFather থেকে আপনি যে টোকেন পেয়েছেন তা কপি করুন “টেলিগ্রাম টোকেন” ফিল্ডে এবং
START এ ক্লিক করুন।

বট এর কর্মক্ষমতা পরীক্ষা করুন

আপনার বটে যান এবং এটিতে কিছু লেখার চেষ্টা করুন, আমার ক্ষেত্রে এটি
@itsm365_weather_bot (আমি বিনামূল্যে আবহাওয়া অ্যাকাউন্ট ব্যবহার করেছি, তাই দিনে 500টি অনুরোধের পরে বটটি কুমড়ায় পরিণত হবে)।


উপসংহার

API.AI ইতিমধ্যেই তাত্ক্ষণিক মেসেঞ্জারে ইন্টারেক্টিভ ইন্টারফেস তৈরি করতে এবং সামাজিক নেটওয়ার্কগুলির সাথে চ্যাট সমর্থন করতে ব্যবহার করা যেতে পারে। টুলটিকে আপনার পরিষেবার সাথে সহজেই একত্রিত করা যেতে পারে তা বিবেচনা করে, এটি আপনার ব্যবহারকারীদের সাথে স্বয়ংক্রিয় যোগাযোগের জন্য একটি সুবিধাজনক ওয়ার্কহরস।


পুনশ্চ. এটি আমার প্রথম পোস্ট, আমি গঠনমূলক প্রতিক্রিয়া প্রশংসা করব!

ট্যাগ: ট্যাগ যোগ করুন

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

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

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

কিভাবে একটি টেলিগ্রাম বট তৈরি করবেন?

প্রথমে, আমাদের টেলিগ্রামে আমাদের ভবিষ্যত বট নিবন্ধন করতে হবে। এটি নিম্নরূপ করা হয়:

  • আপনাকে আপনার ফোন বা কম্পিউটারে টেলিগ্রাম অ্যাপ্লিকেশনটি ইনস্টল করতে হবে। আপনি অ্যাপ্লিকেশন ডাউনলোড করতে পারেন
  • আপনার পরিচিতি তালিকায় নামের সাথে একটি বট যোগ করুন বটফাদার
  • আমরা একটি বোতাম টিপে বটের সাথে "যোগাযোগ" পদ্ধতি শুরু করি শুরু করুন. এর পরে, আমরা স্ক্রিনশটের মতো হুবহু কমান্ডের একটি তালিকা দেখতে পাব।
  • একটি নতুন বট তৈরি করার জন্য আপনাকে কমান্ডটি চালাতে হবে /নতুন বটএবং নির্দেশাবলী অনুসরণ করুন। মনে রাখবেন যে একটি বটের ব্যবহারকারীর নাম সর্বদা শেষে বট শব্দটি থাকতে হবে. উদাহরণস্বরূপ, DjangoBot বা Django_bot।

  • আমাদের বটের জন্য, আমি PythonPlanetBot নামটি বেছে নিয়েছি, যেহেতু এর প্রধান কাজ হল পাইথন প্ল্যানেট ওয়েবসাইটের RSS ফিড পার্স করা এবং ব্যবহারকারীকে সর্বশেষ পোস্ট সম্পর্কে তথ্য প্রদান করা :)

বট তৈরি করার পরে, পাঠ্যের সাথে লাইনে মনোযোগ দিন:

HTTP API অ্যাক্সেস করতে এই টোকেনটি ব্যবহার করুন:

তথাকথিত দ্বারা অনুসরণ টোকেন যার দ্বারা আমরা আমাদের বট ম্যানিপুলেট করব। একটি টেলিগ্রাম বট তৈরির ফাংশন ছাড়াও, বটফাদারের আরও বেশ কয়েকটি বৈশিষ্ট্য রয়েছে:

  • বট একটি বর্ণনা দিন
  • একটি অবতার সেট করুন
  • টোকেন পরিবর্তন করুন

এর কোডিং শুরু করা যাক

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

  • একটি API পদ্ধতি কল ব্যবহার করে আপডেট পেতে
  • ওয়েবহুক ইনস্টল করা হচ্ছে

একটি ওয়েবহুক সেট আপ করার জন্য বটটিতে একটি বিশেষ URL পাস করা জড়িত যেখানে প্রতিবার কেউ বটটিতে বার্তা পাঠাতে শুরু করলে একটি POST অনুরোধ পাঠানো হবে। এই বিকল্পটি আমরা বট এবং এর ব্যবহারকারীর মধ্যে মিথস্ক্রিয়া করার জন্য ব্যবহার করব। URL সেট করার জন্য, আপনাকে অবশ্যই API পদ্ধতি ব্যবহার করতে হবে সেট ওয়েবহুক. আমি নোট করি যে URLটি অবশ্যই https দিয়ে শুরু হতে হবে, অর্থাৎ, একটি বৈধ শংসাপত্রের সাথে একটি নিরাপদ SSL সংযোগ থাকতে হবে৷ টেলিগ্রাম আপনাকে একটি স্ব-স্বাক্ষরিত শংসাপত্র ব্যবহার করতে দেয়, যদিও এর জন্য একটি পদ্ধতির প্রয়োজন হয় সেট ওয়েবহুকএছাড়াও PEM ফরম্যাটে (ASCII base64) পাবলিক কী প্রেরণ করে। অথবা আপনি Let's Encrypt থেকে এটি পেতে পারেন।

সম্পর্কে আরো পড়ুন আপডেট পেতেএবং সেট ওয়েবহুকসেই অনুযায়ী পড়া যাবে এবং।

সুতরাং, টেলিগ্রামের সাথে কাজ করার জন্য পাইথন লাইব্রেরিতে ফিরে আসা যাক - টেলিপট. বর্তমানে, এর সর্বশেষ সংস্করণ 6.7। ভার্চুয়াল পরিবেশে এটি ইনস্টল করুন পাইথন ভার্চুয়ালেনভ:

পিপ ইন্সটল টেলিপট

পাইথনে টেলিগ্রাম বটের সাথে যোগাযোগ করার সবচেয়ে সহজ উপায় হল নিম্নরূপ:

টেলিপট টোকেন = "123456" টেলিগ্রামবট = টেলিপট.বট(টোকেন) মুদ্রণ করুন TelegramBot.getMe() আমদানি করুন

টোকেন ভেরিয়েবলটি বটফাদারের মাধ্যমে বট তৈরি করার সময় প্রাপ্ত টোকেনের মান নির্ধারণ করা হয়। ফলস্বরূপ, এই কমান্ডগুলি কার্যকর করার পরে আমরা পাব:

(u"ব্যবহারকারীর নাম": u"PythonPlanetBot", u"first_name": u"Python Planet Bot", u"id": 199266571)

অভিনন্দন! আমরা সবচেয়ে সহজ API অনুরোধ getMe কল করেছি, যা বট সম্পর্কে তথ্য প্রদান করে: ব্যবহারকারীর নাম, আইডি, প্রথম_নাম।

আসুন আমাদের যোগাযোগের তালিকায় আমাদের বট যোগ করি এবং এটিকে প্রথম স্ট্যান্ডার্ড কমান্ড /start পাঠাই

কোড রান করা যাক:

TelegramBot.getUpdates() [(u"message": (u"date": 1459927254, u"text": u"/start", u"from": (u"username": u"adilkhash", u"first_name ": u"আদিল", u"id": 31337), u"message_id": 1, u"chat": (u"username": u"adilkhash", u"first_name": u"Adil", u" টাইপ করুন": u"private", u"id": 7350)), u"update_id": 649179764)]

একটি টেলিগ্রাম বটের সাথে যোগাযোগের প্রক্রিয়া HTTPS এর মাধ্যমে ঘটে; JSON ডেটা স্থানান্তর করতে ব্যবহৃত হয়। পদ্ধতি আপডেট পেতেআপডেট টাইপ অবজেক্টের একটি তালিকা/অ্যারে প্রদান করে। ইনসাইড আপডেট হল একটি মেসেজ অবজেক্ট। একটি বটের সাথে স্ট্যান্ডার্ড ইন্টারঅ্যাকশনের জন্য, আমরা আসলে মেসেজ অবজেক্টে আগ্রহী, যেখান থেকে আমরা টেক্সট অ্যাট্রিবিউট পড়ি, যা বট এবং চ্যাট অবজেক্টে পাঠানো টেক্সট সঞ্চয় করে, যেখানে আমাদের টেলিগ্রামের সাথে কথোপকথন শুরু করা ব্যবহারকারী সম্পর্কে তথ্য রয়েছে। বট এছাড়াও একটি update_id প্যারামিটার রয়েছে যা getUpdates পদ্ধতিতে কল করার সময় অফসেট প্যারামিটার হিসাবে কাজ করে। অর্থাৎ, আপডেট_আইডি+1 সর্বশেষ আপডেট_আইডির পরে প্রাপ্ত সমস্ত বার্তা ফিরিয়ে দেবে, যখন আগের সমস্ত বার্তা মুছে যাবে।

টেলিগ্রামবট. u"first_name": u"Adil", u"id": 31337), u"message_id": 13, u"chat": (u"username": u"adilkhash", u"first_name": u"Adil" , u"type": u"private", u"id": 7350)), u"update_id": 649179765)]

সবচেয়ে সহজ টেলিগ্রাম বট লেখার পর্যায়ে, এই কলগুলি আমাদের জন্য যথেষ্ট। আসুন আমাদের ব্যবহারকারীদের পরিবেশন করার জন্য একটি জ্যাঙ্গো অ্যাপ্লিকেশন লেখা শুরু করি।

একটি সাধারণ প্ল্যানেট পাইথন RSS ফিড পার্সিং ফাংশন এইরকম দেখায়।

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

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

নিয়ন্ত্রণ করে

বট টেলিগ্রাম এপিআই-এ, সমস্ত নিয়ন্ত্রণগুলি হল বস্তু যা JSON-এ উপস্থাপিত হয়, অর্থাৎ নির্দিষ্ট নিয়ম অনুযায়ী নির্দিষ্ট একটি স্ট্রিং হিসাবে। এটি আপনাকে নেটওয়ার্কের মাধ্যমে যত তাড়াতাড়ি সম্ভব এবং কম খরচে ডেটা আদান-প্রদান করতে দেয়, যেহেতু এটি প্রেরিত প্রোগ্রাম কোড নয়, কিন্তু পাঠ্য আকারে key:value জোড়ার একটি সেট। টেবিল সব API প্রকার দেখায়. বেশিরভাগ অবজেক্ট বট কমান্ড তৈরি করার উদ্দেশ্যে করা হয়। কীগুলি বস্তুর ক্ষমতা সম্পর্কে আরও প্রসারিত বোঝা দেবে।

নাম বর্ণনা চাবি
ব্যবহারকারী টেলিগ্রামে ব্যবহারকারী আইডি
নামের প্রথম অংশ
নামের শেষাংশ
ব্যবহারকারীর নাম
চ্যাট চ্যাট আইডি
টাইপ
শিরোনাম
ব্যবহারকারীর নাম
নামের প্রথম অংশ
নামের শেষাংশ
সকল_সদস্য_হয়_প্রশাসক
বার্তা বার্তা বার্তা_আইডি
থেকে
তারিখ
চ্যাট
ফরওয়ার্ড_থেকে
ফরওয়ার্ড_তারিখ
বার্তার_উত্তর
পাঠ্য
সত্তা
শ্রুতি
নথি
ফটো
স্টিকার
ভিডিও
ভয়েস
ক্যাপশন
যোগাযোগ
অবস্থান
স্থান
নতুন_চ্যাট_সদস্য
বাম_চ্যাট_সদস্য
নতুন_চ্যাট_শিরোনাম
নতুন_চ্যাট_ফটো
মুছুন_চ্যাট_ফটো
group_chat_created
supergroup_chat_created
চ্যানেল_চ্যাট_নির্মিত
মাইগ্রেট_এ_চ্যাট_আইডি
মাইগ্রেট_থেকে_চ্যাট_আইডি
পিন করা_বার্তা
MessageEntity একটি পাঠ্য বার্তায় একটি পৃথক সত্তা (হ্যাশট্যাগ, লিঙ্ক, ইত্যাদি) টাইপ
দৈর্ঘ্য
url
অফসেট
ফটো সাইজ একটি প্রদত্ত আকারের একটি চিত্র বা একটি ফটো, ফাইল বা স্টিকারের পূর্বরূপ৷ ফাইল_আইডি
প্রস্থ
উচ্চতা
ফাইলের আকার
শ্রুতি অডিও রেকর্ডিং ফাইল_আইডি
সময়কাল
অভিনয়কারী
শিরোনাম
MIME ধরণ
ফাইলের আকার
দলিল যে কোনো ফাইল যা কোনো ছবি, অডিও রেকর্ডিং বা ভয়েস রেকর্ডিং নয় ফাইল_আইডি
থাম্ব
ফাইল_নাম
MIME ধরণ
ফাইলের আকার
স্টিকার স্টিকার ফাইল_আইডি
প্রস্থ
উচ্চতা
থাম্ব
ফাইলের আকার
ভিডিও ভিডিও রেকর্ডিং ফাইল_আইডি
প্রস্থ
উচ্চতা
সময়কাল
থাম্ব
MIME ধরণ
ফাইলের আকার
ভয়েস একটি ভয়েস বার্তা ফাইল_আইডি
সময়কাল
MIME ধরণ
ফাইলের আকার
যোগাযোগ ফোন যোগাযোগ ফোন নম্বর
নামের প্রথম অংশ
নামের শেষাংশ
ব্যবহারকারী আইডি
অবস্থান মানচিত্রে একটি বিন্দু দ্রাঘিমাংশ
অক্ষাংশ
ভেন্যু মানচিত্রে বস্তু অবস্থান
শিরোনাম
ঠিকানা
foursquare_id
ব্যবহারকারীর প্রোফাইল ফটো ব্যবহারকারীর প্রোফাইল ফটো মোট গণনা
ফটো
ফাইল ফাইল ডাউনলোড করার জন্য প্রস্তুত ফাইল_আইডি
ফাইলের আকার
ফাইল পাথ
ReplyKeyboard Markup উত্তর বিকল্প সহ কীবোর্ড কীবোর্ড
resize_keyboard
one_time_keyboard
নির্বাচনী
কীবোর্ড বোতাম উত্তর দিতে কীবোর্ড বোতাম পাঠ্য
অনুরোধ_যোগাযোগ
অনুরোধ_অবস্থান
উত্তর কীবোর্ড লুকান স্ট্যান্ডার্ড টেলিগ্রাম কীবোর্ড দিয়ে বট কীবোর্ড প্রতিস্থাপন করে হাইড_কিবোর্ড
নির্বাচনী
ইনলাইন কীবোর্ড মার্কআপ অন্তর্নির্মিত কীবোর্ড যা বার্তার নীচে প্রদর্শিত হয় ইনলাইন_কীবোর্ড
ইনলাইন কীবোর্ড বোতাম বিল্ট-ইন কীবোর্ডে একটি বোতাম পাঠ্য
url
কলব্যাক_ডেটা
switch_inline_query
switch_inline_query_current_chat
কলব্যাক_গেম
CallbackQuery নির্দিষ্ট কলব্যাক_ডেটা প্যারামিটার সহ একটি অন্তর্নির্মিত বোতামের জন্য ইনকামিং প্রতিক্রিয়া অনুরোধ৷ আইডি
থেকে
বার্তা
inline_message_id
তথ্য
জোর করে উত্তর দিন ব্যবহারকারীর ক্রিয়াগুলি অনুকরণ করে: একটি বার্তা নির্বাচন করা এবং "উত্তর দিন" বোতাম টিপুন৷ force_reply
নির্বাচনী
প্রতিক্রিয়া পরামিতি কেন অনুরোধটি সফলভাবে সম্পূর্ণ হয়নি তা প্রতিবেদন করে মাইগ্রেট_এ_চ্যাট_আইডি
পুনরায় চেষ্টা করুন

মেসেঞ্জার দ্বারা প্রেরিত ফলস্বরূপ স্ট্রিংগুলি একই API অবজেক্ট হিসাবে উপস্থাপন করা হয়।

অনুরোধ আকারে বার্তা বিনিময় করা হয়. নিম্নলিখিত টেবিল তাদের কিছু উদাহরণ দেখায়.

সমস্ত পদ্ধতি (এবং তাদের মধ্যে অনেকগুলি রয়েছে) গোষ্ঠীতে বিভক্ত:

  1. আপডেট এবং তথ্য পান.
  2. চ্যাট কাজ.
  3. বিভিন্ন আইটেম পাঠানো.
  4. স্টিকার নিয়ে কাজ করা।
  5. আপডেট বার্তা.
  6. ইনলাইন মোড।
  7. পেমেন্ট কার্যকারিতা.
  8. গেমের জন্য।

রাশিয়ান ভাষায় টেলিগ্রাম বট API-এর সম্পূর্ণ ডকুমেন্টেশন এখনও বিদ্যমান নেই। যাইহোক, Google Chrome ব্রাউজারে স্ট্যান্ডার্ড অনুবাদ কাজটি পুরোপুরি করে।

প্রোগ্রামিং ভাষা

টেলিগ্রাম API অনেক প্রোগ্রামিং ভাষা দ্বারা সমর্থিত। এটি স্রষ্টাকে একটি পছন্দ দেয়।

জাভাস্ক্রিপ্ট প্রেমীরা Node.js টেলিগ্রাম বট API ব্যবহার করতে পারেন। এখানে আপনার কেবল ভাষা নয়, এই কাঠামোটি পরিচালনা করার ক্ষমতাও প্রয়োজন, যা ক্লায়েন্ট ভাষাকে একটি পূর্ণাঙ্গ সার্ভার ইন্টারফেসে পরিণত করেছে।

টেলিগ্রাম বট API ব্যবহার করে বট লেখার জন্য সবচেয়ে জনপ্রিয় একটি হল পিএইচপি। এই ভাষাটি মূলত সার্ভার-সাইড ওয়েব অ্যাপ্লিকেশন তৈরির উদ্দেশ্যে করা হয়েছিল। এটি সহজ, যৌক্তিক এবং বিশেষভাবে ওয়েব পরিবেশের জন্য বিশেষ।

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

ব্যবহারের উদাহরণ

বস্তুর পাশাপাশি, API-এর পদ্ধতির একটি সেট রয়েছে যা আপনাকে বার্তা, একটি ফাইল, ফটো স্টিকার, সম্পাদনা এবং আরও অনেক কিছু পাঠাতে দেয়। এই সমস্ত কমান্ডগুলি অফিসিয়াল ওয়েবসাইটে API বিবরণে পাওয়া যাবে।

টেলিগ্রাম @ বটফাদারে তৈরি করার জন্য একটি বিশেষ পরিষেবা রয়েছে। এটিতে যান এবং কমান্ডের একটি সেট দেখুন যার সাহায্যে একটি নতুন রোবট তৈরি করা হয়েছে। শুরু করতে, কমান্ড টাইপ করুন /newbot. এরপরে, ক্রমানুসারে ব্যবহারকারীর নাম এবং শিরোনাম লিখুন। পরেরটি সর্বদা "বট" এ শেষ হয়। তারা আপনাকে একটি টোকেন (শনাক্তকারী) পাঠানোর পরে, একটি নতুন বট তৈরি করা হয়। অনুমোদন একটি টোকেন মাধ্যমে বাহিত হয়. টেলিগ্রামে প্রোগ্রাম শুরু করতে, আপনার ব্রেইনচাইল্ড খুঁজুন এবং "স্টার্ট" বোতামে ক্লিক করুন। এটি পূর্বনির্ধারিত /start কমান্ড চালাবে। এছাড়াও, /সেটিংস এবং /হেল্প কমান্ড প্রতিটি রোবটের জন্য সংরক্ষিত।

সমস্ত অনুরোধ এই মত দেখায়:

https://api.telegram.org/bot /টীম

একটি অনুরোধ জমা দেওয়ার 4টি উপায় রয়েছে:

  1. URL-এ অনুরোধ করুন
  2. অ্যাপ্লিকেশন/x-www-form-urlencoded
  3. অ্যাপ্লিকেশন/জেসন (ফাইল আপলোড করার জন্য উপযুক্ত নয়)
  4. মাল্টিপার্ট/ফর্ম-ডেটা (ফাইল আপলোড করার জন্য)

GET এবং POST উভয় অনুরোধই উপলব্ধ।

API কমান্ডগুলি চেষ্টা করার সবচেয়ে সহজ উপায় হল আপনার ব্রাউজারে ঠিকানা বারে। ওয়েব সংস্করণে বা মোবাইল ডিভাইস থেকে আপনার বটে লগ ইন করুন। তারপর আপনার ব্রাউজারে কমান্ড টাইপ করুন:

https://api.telegram.org/bot507226896:AAGT_fsEfg1milOkqbNp-VolQDJ0tGjaPvD7/getUpdates

ফলস্বরূপ, একটি JSON স্ট্রিং উইন্ডোতে উপস্থিত হবে

("ঠিক আছে":সত্য,"ফলাফল":[("update_id":231886689,
"message":("message_id":3,"from":("id":391911270,"is_bot":false,"first_name":"Irina","last_name":"12345678","language_code":"ru "),,"চ্যাট":("id":391911270,"first_name":"Irina","last_name":"12345678","type":"private"),"date":1514900431,"text": "\u044b\u0443\u0442\u0430\u043b\u043e\u0430\u043c\u0440"))])

প্যারামিটার চ্যাট":("আইডি হল চ্যাট শনাক্তকারী। তারপর লাইনটি টাইপ করুন:

https://api.telegram.org/ bot507226896:AAGT_fsEfg1milOkqbNp-VolQDJ0tGjaPvD7/sendMessage?chat_id=391911270&text=Hello

ব্রাউজারে একটি লাইন আসবে

("ok":true,"result":("message_id":4,"from":("id":507226896,"is_bot":true,"first_name":"Ana","username":"Annatuola_bot" ),"চ্যাট":("id":391911270,"first_name":"Irina","last_name":"12345678","type":"private"),"date":1514900499,"text":"হ্যালো "))

এবং টেলিগ্রাম চ্যাটে আপনি তৈরি রোবট থেকে একটি শুভেচ্ছা দেখতে পাবেন।

আপনি দেখতে পাচ্ছেন, স্ক্র্যাচ থেকে একটি নতুন টেলিগ্রাম উপাদান তৈরি করা কঠিন নয়। প্রোগ্রামিংয়ের মুহুর্তে অসুবিধাগুলি শুরু হয়, তবে আমরা অন্যান্য নিবন্ধে এটি সম্পর্কে কথা বলব।

  • টিউটোরিয়াল

চ্যাট বটগুলি একটি বরং আকর্ষণীয় বিষয় যা গীক উত্সাহী এবং কোম্পানি উভয়ের জন্যই আগ্রহের বিষয় যা তাদের গ্রাহকদের সাথে তাদের জন্য সবচেয়ে সুবিধাজনক উপায়ে মিথস্ক্রিয়া সংগঠিত করতে চায়৷


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

প্রথম ধাপ: পরিকাঠামো প্রস্তুত করুন।

এই ক্ষেত্রে, আমরা শুধুমাত্র টেলিগ্রাম বট এবং API.AI ব্যবহার করব, উভয় পরিষেবাই বিনামূল্যে প্রদান করা হয় - আমাদের যা করতে হবে তা হল অ্যাকাউন্ট তৈরি করা।

একটি টেলিগ্রাম বট তৈরি করুন

একটি বট তৈরি করতে, শুধু @BotFather লিখুন (এটি একটি বট যা অন্যান্য বট তৈরি এবং কনফিগার করতে পারে):

  1. কমান্ড পাঠান /newbot - এইভাবে আমরা @BotFather কে বলি যে আমাদের একটি নতুন বট দরকার
  2. এখন @BotFather আমাদেরকে নতুন বটের নাম দিতে বলবে। এই নাম আমাদের দ্বারা দেখা হবে
    ভবিষ্যত ব্যবহারকারী, তাই নাম পরিষ্কার এবং সহজ হওয়া উচিত।
  3. শেষ ধাপ হল বটটির ব্যবহারকারীর নাম নির্দেশ করা, যার শেষে আপনাকে অবশ্যই করতে হবে
    "বট" লিখুন।
  4. নাম না নেওয়া হলে, আমরা একটি নিশ্চিতকরণ বার্তা এবং একটি অ্যাক্সেস টোকেন পাই।

এটি পরিষ্কার করার জন্য, নীচে সমস্ত ক্রিয়া সহ একটি স্ক্রিনশট রয়েছে:

একটু তত্ত্ব

এটি একটি API.AI এজেন্ট তৈরি করার সময়, যা মূলত একটি প্রকল্প বা ধারক (আপনি এটিকে যা বলতে চান)। এজেন্টে প্রসঙ্গ, সত্তা এবং প্রতিক্রিয়াগুলির জন্য সেটিংস রয়েছে:

  • "প্রসঙ্গ" (উদ্দেশ্য)মধ্যে সংযোগ প্রতিফলিত করে ব্যবহারকারী কি বলেছেনএবং
    সেগুলো আমাদের প্রোগ্রাম কি করা উচিত
  • "সত্তা"জন্য প্যারামিটার মান নিষ্কাশন করার জন্য একটি টুল
    প্রাকৃতিক ভাষা থেকে আমাদের প্রোগ্রাম (যা বলা হয়েছে বা লেখা হয়েছে
    ব্যবহারকারী)
  • "উত্তর” আমাদের প্রোগ্রামের চূড়ান্ত ফলাফল, যা আমরা
    ব্যবহারকারীকে তার বার্তা পাঠান

কখনও কখনও বর্তমান সংলাপ থেকে তথ্য এই ক্ষেত্রে, আপনি স্ট্যাটিক সেট আপ করতে পারেন প্রতিক্রিয়া যথেষ্ট; উত্তরভি প্রসঙ্গ. বাস্তবে, একটি নির্দিষ্ট উত্তর পেতে, আমাদের একটি বাহ্যিক পরিষেবা বা আমাদের নিজস্ব ব্যবসায়িক যুক্তির প্রয়োজন হতে পারে, উদাহরণস্বরূপ, আগামীকালের আবহাওয়া সম্পর্কে তথ্য পেতে, আমাদের সংশ্লিষ্ট পরিষেবাটির বহিরাগত API কল করতে হবে৷ পরে আমি আপনাকে বলব কিভাবে বাহ্যিক সিস্টেম থেকে তথ্য গ্রহণ করতে হয়, কিন্তু প্রথমে, বেস প্রস্তুত করা যাক।

API.AI-তে একটি প্রকল্প তৈরি করুন

API.AI এর সাথে নিবন্ধন করতে, আপনার একটি Google অ্যাকাউন্টের প্রয়োজন হবে (শুধু এটি আপনার Gmail অ্যাকাউন্টে যোগ করুন)। এখন https://api.ai/-এ যান, “সাইন আপ ফর ফ্রী” বোতামে ক্লিক করুন, এবং তারপরে আপনি যার পক্ষে লগ ইন করতে চান সেই অ্যাকাউন্টটি নির্বাচন করুন।


এখন এজেন্ট নিজেই তৈরি করা যাক. "এজেন্ট তৈরি করুন" এ ক্লিক করুন এবং অন্তত একটি নাম, ভাষা এবং সময় অঞ্চল নির্দিষ্ট করুন।


ধাপ দুই: একটি এজেন্ট সেট আপ করুন.

ব্যবহারকারী কী বলে এবং আমাদের এজেন্টের কী করা উচিত তার মধ্যে সম্পর্ক প্রতিফলিত করে। আমাদের ক্ষেত্রে, আবহাওয়ার পূর্বাভাসের ক্ষেত্রে বিবেচনা করুন:


  1. "প্রসঙ্গ" বিভাগে ক্লিক করুন। অভিবাদন এবং ত্রুটির জন্য এজেন্ট ইতিমধ্যেই "প্রসঙ্গগুলি" কনফিগার করেছে;
  2. "প্রসঙ্গ" এর জন্য একটি নাম নির্দেশ করুন - যে কোনও নাম, যতক্ষণ না এটি আপনার এবং আপনার সহকর্মীদের কাছে বোধগম্য হয়।
  3. "ব্যবহারকারী বলে" বিভাগে, আপনার ব্যবহারকারী জিজ্ঞাসা করতে পারেন এমন প্রশ্নের উদাহরণ দিন। যেহেতু আমরা আবহাওয়া সম্পর্কে কথা বলছি, একজন ব্যক্তি সময় এবং স্থানের উপর ভিত্তি করে একটি প্রশ্ন জিজ্ঞাসা করতে পারেন - আসুন এটি বিবেচনায় নেওয়া যাক। আপনি সেটিংসে যত বেশি উদাহরণ প্রদান করবেন, এজেন্ট তত বেশি সঠিকভাবে কাজ করবে। আমি স্ক্রিনশটে কিছু উদাহরণ দিয়েছি:


শেষ উদাহরণে, "আগামীকাল" এবং "নিঝনি তাগিল" শব্দগুলিকে বিভিন্ন রঙে হাইলাইট করা হয়েছে - এইভাবে শব্দগুলি সত্তার সাথে যুক্ত ( সত্তা) (আমাদের ক্ষেত্রে, সিস্টেম সত্তা)। এই পরামিতিগুলি ব্যবহার করে, এজেন্ট কোন শহরে এবং কোন তারিখে আবহাওয়া পরীক্ষা করা প্রয়োজন তা "বুঝবে"।


আপনার আরও কয়েকটি উদাহরণ যোগ করুন এবং "সংরক্ষণ করুন" এ ক্লিক করুন।

পরীক্ষা করা যাক!

আসুন সাধারণ প্রশ্নগুলি ব্যবহার করে এজেন্টের কার্যকারিতা পরীক্ষা করি, উদাহরণস্বরূপ, "বুধবার পার্মে আবহাওয়া":



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


আমরা এখনও একটি স্বয়ংক্রিয় প্রতিক্রিয়া কনফিগার করিনি, তবে এজেন্ট ইতিমধ্যে কিছু পরামিতি নির্ধারণ করতে শিখেছে! INTENT বিভাগটি প্রতিফলিত করে যে, এজেন্টের "মতামত" অনুসারে, ব্যবহারকারী আবহাওয়ার প্রতি আগ্রহী (আমরা যে "প্রসঙ্গ" সেট আপ করি), এবং প্যারামিটার সংশ্লিষ্ট ভেরিয়েবলে শহরের তারিখ এবং নাম দেখায়।

স্বয়ংক্রিয় উত্তর যোগ করুন

আসুন আমাদের এজেন্টকে আরও আলাপচারী করে তুলুন! যতক্ষণ না আমরা বাহ্যিক উত্স থেকে আবহাওয়ার তথ্য পেতে শিখছি, আমরা উত্তর হিসাবে সহজ বাক্যাংশ যোগ করব।


"প্রতিক্রিয়া" বিভাগে যান এবং আপনি যেভাবে "ব্যবহারকারীর উত্তর" পূরণ করেছেন সেভাবে সহজ উত্তরগুলি লিখুন:



আপনি দেখতে পাচ্ছেন, আপনি প্রতিক্রিয়াগুলিতে চিহ্নিত সত্তার লিঙ্ক ব্যবহার করতে পারেন $ - এবং ইন্টারফেস আপনাকে একটি নির্দিষ্ট পরিবর্তনশীল নির্বাচন করতে অনুরোধ করবে।


একটি প্রতিক্রিয়া তৈরি করার সময়, এজেন্ট নির্দিষ্ট সত্তার সংখ্যা বিবেচনা করে এবং এমন প্রতিক্রিয়া ব্যবহার করে না যার জন্য পর্যাপ্ত ডেটা নেই। উদাহরণস্বরূপ, একটি শহর নির্দিষ্ট না করে একটি প্রশ্নের জন্য, এজেন্ট দ্বিতীয় লাইন থেকে উত্তর ব্যবহার করে।


সেটিংস সংরক্ষণ করুন এবং আবার পরীক্ষা করুন:



এখন আমাদেরও উত্তর আছে!

ধাপ তিন: একটি বাহ্যিক পরিষেবা যোগ করুন।

আমাদের এজেন্ট ইতিমধ্যে "বুঝে" কোন ক্ষেত্রে ব্যবহারকারী আবহাওয়া জানতে চায়, কোন তারিখে এবং কোন শহরে। এখন যা অবশিষ্ট থাকে তা হল একটি উপযুক্ত পরিষেবা থেকে এই ডেটা প্রাপ্ত করা এবং এটি এজেন্টের কাছে স্থানান্তর করা। এটি করার জন্য, আপনাকে JS-এ কয়েকটি স্ক্রিপ্ট লিখতে হবে এবং সেগুলিকে একটি ক্লাউড পরিষেবাতে রাখতে হবে, আমাদের ক্ষেত্রে, Google ক্লাউড প্রকল্প।

একটি স্টার্টার JS ফাইল তৈরি করুন

শুরু করতে, আপনার প্রকল্পের নামের সাথে একটি ডিরেক্টরি তৈরি করুন এবং যান:

    লিনাক্স বা ম্যাক ওএস এক্স:


    mkdir ~/
    সিডি ~/


    mkdir % হোমপ্যাথ%
    সিডি % হোমপ্যাথ%

এখন নিম্নলিখিত বিষয়বস্তু সহ একটি index.js ফাইল তৈরি করুন:


index.js কোড

/* * HTTP ক্লাউড ফাংশন। * * @param (অবজেক্ট) ক্লাউড ফাংশন অনুরোধের প্রসঙ্গ। * @param (অবজেক্ট) রেস ক্লাউড ফাংশন প্রতিক্রিয়া প্রসঙ্গ। */ exports.itsm365Weather = ফাংশন itsm365Weather (req, res) ( প্রতিক্রিয়া = "এটি আপনার ওয়েবহুক থেকে একটি নমুনা প্রতিক্রিয়া!" // ওয়েবহুক থেকে ডিফল্ট প্রতিক্রিয়া দেখানোর জন্য এটি কাজ করছে res.setHeader("Content-Type", "application/json"); // application/json MIME প্রকার res.send(JSON.stringify(( "speech": প্রতিক্রিয়া, "displayText": প্রতিক্রিয়া //"স্পীচ" হল প্রতিক্রিয়ার কথ্য সংস্করণ, "displayText" প্রয়োজন " হল ভিজ্যুয়াল সংস্করণ)));

Google ক্লাউড প্রকল্প সেট আপ করুন৷

  • সেটিংস করুন “আপনার আগে
    1 থেকে 5 পয়েন্ট থেকে শুরু করুন
  • কনসোলে রান করে ক্লাউডে ফাংশনটি স্থাপন করুন:


    gcloud বিটা ফাংশন স্থাপন করে itsm365Weather --stage-bucket --trigger-http

যেখানে itm365Weather হল ফাংশনের নাম এবং স্টোরেজের নাম
প্রকল্পের জন্য ডেটা।


অপারেশন শেষ হওয়ার পরে, আপনি http ট্রিগার URL সহ ফলাফল দেখতে পাবেন:


API.AI-তে ওয়েবহুক সক্ষম করুন

  1. নিশ্চিত করুন যে আপনি সঠিক এজেন্টে আছেন এবং তারপরে ক্লিক করুন " পূর্ণতাবাম লুকানো মেনুতে।
  2. স্ক্রিনের উপরের ডানদিকে ওয়েবহুক সক্ষম করুন।
  3. আগের ধাপে প্রাপ্ত URL লিখুন।
  4. আপনার পরিবর্তন সংরক্ষণ করুন.

"প্রসঙ্গ" সেটিংসে একটি নতুন ফাংশন কার্যকর করতে সক্ষম করুন৷

  1. আবহাওয়ার পূর্বাভাস "প্রসঙ্গ" সেটিংসে যান
  2. ব্লকটি প্রসারিত করুন পূর্ণতাপৃষ্ঠার নীচের অংশে অবস্থিত
  3. "ওয়েবহুক ব্যবহার করুন" বক্সটি চেক করুন
  4. সেটিংস সংরক্ষণ করুন এবং ফলাফল পরীক্ষা করুন:

আবহাওয়া API সেট আপ করুন

সরলতার জন্য, আমরা WWO (World Weather Online) পরিষেবা ব্যবহার করব, যেখানে আপনাকে একটি API কী পেতে হবে (শুধু Facebook বা Github-এর মাধ্যমে নিবন্ধন করুন)।


আবহাওয়ার তথ্য পেতে API কী লিখতে মনে রেখে শুরুর JS ফাইলে কোডটি আপডেট করুন:


আবহাওয়ার পূর্বাভাস পরিষেবার জন্য উত্স কোড

// কপিরাইট 2017, Google, Inc. // অ্যাপাচি লাইসেন্সের অধীনে লাইসেন্সকৃত, সংস্করণ 2.0 ("লাইসেন্স"); // আপনি লাইসেন্সের সাথে সম্মতি ছাড়া এই ফাইলটি ব্যবহার করতে পারবেন না। // আপনি লাইসেন্সের একটি অনুলিপি এখানে পেতে পারেন // // http://www.apache.org/licenses/LICENSE-2.0 // // যদি না প্রযোজ্য আইন দ্বারা প্রয়োজন হয় বা লিখিতভাবে সম্মত হন, সফ্টওয়্যার // এর অধীনে বিতরণ করা হয় লাইসেন্সটি "যেমন আছে" ভিত্তিতে বিতরণ করা হয়, // কোনো প্রকার ওয়্যারেন্টি বা শর্ত ছাড়াই, প্রকাশ বা উহ্য। // লাইসেন্সের অধীনে নির্দিষ্ট ভাষা পরিচালনার অনুমতি এবং // সীমাবদ্ধতার জন্য লাইসেন্স দেখুন। "কঠোর ব্যবহার করুন"; const http = প্রয়োজন("http"); const host = "api.worldweatheronline.com"; const wwoApiKey = "98cfb8e40ecc47c4a2f205209172608"; exports.itsm365Weather = (req, res) => ( // অনুরোধ থেকে শহর এবং তারিখ পান let city = req.body.result.parameters["geo-city"]; // শহর একটি প্রয়োজনীয় প্যারাম // পান আবহাওয়ার পূর্বাভাসের জন্য তারিখ (যদি উপস্থিত থাকে) দিন = ""; ("তারিখ: " + তারিখ); // আবহাওয়া API কল করুনওয়েদারএপি(শহর, তারিখ) তারপরে((আউটপুট) => ( // আবহাওয়া API-এর ফলাফল API.AI res.setHeader("সামগ্রী) তে ফেরত দিন -Type", "application/json"); res.send(JSON.stringify(( "speech": output, "displayText": output ))); )).catch((error) => ( // থাকলে res.setHeader("কন্টেন্ট-টাইপ", "application/json" res.send(JSON.stringify(("speech": error, "displayText") ; ফাংশন callWeatherApi (শহর, তারিখ) ( নতুন প্রতিশ্রুতি ফেরত দিন((সমাধান করুন, প্রত্যাখ্যান করুন) => ( // ওয়েদার লেট পাথ পেতে HTTP অনুরোধের জন্য পাথ তৈরি করুন = "/প্রিমিয়াম/v1/weather.ashx?format=json&num_of_days= 1" + "&q=" + encodeURICcomponent(city) + "&key=" + wwoApiKey + "&date=" + তারিখ + "&lang=ru"; console.log("API অনুরোধ: " + host + পথ); // আবহাওয়া পেতে HTTP অনুরোধ করুন http.get((host: host, path: path), (res) => ( let body = ""; // var রেসপন্স খন্ড res.on("data", সংরক্ষণ করতে (d) => ( body += d; )); // প্রতিটি প্রতিক্রিয়া খণ্ড res.on("end", () => ( // সমস্ত ডেটা পাওয়ার পরে JSON পার্স করুন প্রতিক্রিয়া দিন = JSON.parse(body); let forecast = response["data"]["request"]"]; let current Conditions = condition["lang_ru"] ["মান"]; // রেসপন্স লেট আউটপুট তৈরি করুন = $(অবস্থান["ক্যোয়ারী"]) $(বর্তমান অবস্থা) এ $(পূর্বাভাস["mintempC"] থেকে বায়ুর তাপমাত্রা )°C থেকে $(পূর্বাভাস["maxtempC"])°C `; // আউটপুট টেক্সট console.log(output) দিয়ে প্রতিশ্রুতি সমাধান করুন; সমাধান (আউটপুট); )); res.on("ত্রুটি", (ত্রুটি) => ( প্রত্যাখ্যান (ত্রুটি); )); )); )); )


ক্লাউড প্রজেক্টে ফাংশনটি পুনরায় স্থাপন করুন।

ধাপ চার: ডায়ালগ শাখা কনফিগার করা

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

"অবস্থান" একটি প্রয়োজনীয় প্যারামিটার করুন


"আবহাওয়া পূর্বাভাস" প্রসঙ্গ সেটিংস খুলুন এবং জিও-সিটি প্যারামিটারটিকে বাধ্যতামূলক হিসাবে নির্দিষ্ট করুন৷ তারপর "প্রম্পট" কলামের লিঙ্কটি ব্যবহার করে একটি স্পষ্ট প্রশ্ন সেট আপ করুন।


সেটিংস সংরক্ষণ করুন এবং একটি সাধারণ আবহাওয়ার প্রশ্ন জিজ্ঞাসা করে এজেন্টের আচরণ পরীক্ষা করুন:



এজেন্ট আমাদের একটি স্পষ্ট প্রশ্ন জিজ্ঞাসা করেছে কনসোল বর্তমানের পরামিতিগুলি প্রদর্শন করে
পরিস্থিতি

অবস্থানের জন্য রিটার্ন রিফাইনার তৈরি করুন

পূর্ববর্তী ব্যবহারকারীর যাত্রা থেকে প্রাপ্ত ডেটা ব্যবহার করতে, আপনাকে উপযুক্ত পরিমার্জনগুলি কনফিগার করতে হবে।



"আবহাওয়া পূর্বাভাস" প্রসঙ্গ সেটিংসে, "আউটপুট প্রসঙ্গ যোগ করুন" ক্ষেত্রে প্রত্যাবর্তিত স্পষ্টীকরণ "অবস্থান" এর নাম লিখুন এবং সেটিংস সংরক্ষণ করুন।

স্পষ্টীকরণের জন্য একটি নতুন প্রসঙ্গ তৈরি করুন

এটি সুবিধাজনক যখন আপনি ব্যবহারকারীকে কোন শহর বলতে চাচ্ছেন তা জিজ্ঞাসা না করে একই অবস্থান সম্পর্কে বিভিন্ন প্রশ্ন জিজ্ঞাসা করতে পারেন। আপনি ইতিমধ্যে একটি রিটার্ন যোগ্যতা কনফিগার করেছেন যা আপনি ফলো-আপ প্রশ্নগুলি পরিচালনা করতে ব্যবহার করতে পারেন।


  1. বিভাগে একটি নতুন প্রসঙ্গ তৈরি করুন অভিপ্রায়অথবা লাইনের আইকনে ক্লিক করুন
    অভিপ্রায়বাম পুল-আউট মেনু।
  2. নতুন প্রসঙ্গটির নাম দিন “আবহাওয়া আপডেট” (অথবা অন্য কোনো নাম যা আপনার কাছে অর্থবহ)।
  3. ইনকামিং এবং আউটগোয়িং রিফাইনারকে "অবস্থান" এ সেট করুন
  4. ব্যবহারকারীর মন্তব্য যোগ করুন, উদাহরণস্বরূপ, "কাল কি হবে?"
  5. নিম্নলিখিত মানগুলির সাথে একটি সত্তা প্যারামিটার যোগ করুন:
    - প্যারামিটার নাম:
    ভূ-শহর
    - মান:#location.geo-city
  6. " বিভাগে ব্যবহারকারীর জন্য একটি প্রতিক্রিয়া যোগ করুন৷ প্রতিক্রিয়া”:
    - "দুঃখিত, কিন্তু আমি #location.geo-city-এ $date-period-এর পূর্বাভাস পাচ্ছি না"
  7. ব্যবহার সক্ষম করুন ওয়েবহুকতালিকাতে পূর্ণতা.
  8. কনসোলে সেটিংস সংরক্ষণ করুন এবং পরীক্ষা করুন:

ধাপ পাঁচ: শুভেচ্ছা জানানো এবং অপ্রত্যাশিত পরিস্থিতি পরিচালনা করা

এজেন্টের প্রধান কঙ্কাল প্রস্তুত, এখন রোবট তৈরি করা একটি ভাল ধারণা
ব্যবহারকারীকে অভিবাদন জানায় এবং অপ্রত্যাশিত প্রশ্নের উত্তর কীভাবে দিতে হয় তাও জানত।

অপ্রত্যাশিত পরিস্থিতির জন্য ডিফল্ট প্রতিক্রিয়া সেট আপ করুন

যদি ব্যবহারকারী একটি অপ্রত্যাশিত প্রশ্ন জিজ্ঞাসা করে (আমাদের ক্ষেত্রে, আবহাওয়া সম্পর্কে নয়), এজেন্ট অপ্রত্যাশিত পরিস্থিতি পরিচালনা করার জন্য একটি প্রসঙ্গ অন্তর্ভুক্ত করবে ( ডিফল্ট ফলব্যাক ইন্টেন্ট):



এই প্রসঙ্গ সেট আপ করতে যান, প্রয়োজনে আপনার উত্তর বিকল্পগুলি কাস্টমাইজ করুন।

অভিবাদন প্রসঙ্গ সেট আপ করুন

অভিবাদনটি সংশ্লিষ্ট বিষয়বস্তুতে একইভাবে কাস্টমাইজ করা যেতে পারে -
ডিফল্ট স্বাগতম অভিপ্রায়


ধাপ ছয়: বট চালু করুন

টেলিগ্রাম বটকে এজেন্টের সাথে সংযুক্ত করুন

"ইন্টিগ্রেশন" সেটিংসে যান এবং বিভাগে বট সক্রিয় করুন
"এক-ক্লিক ইন্টিগ্রেশন":



@botFather থেকে আপনি যে টোকেন পেয়েছেন তা কপি করুন “টেলিগ্রাম টোকেন” ফিল্ডে এবং
START এ ক্লিক করুন।

বট এর কর্মক্ষমতা পরীক্ষা করুন

আপনার বটে যান এবং এটিতে কিছু লেখার চেষ্টা করুন, আমার ক্ষেত্রে এটি
@itsm365_weather_bot (আমি বিনামূল্যে আবহাওয়া অ্যাকাউন্ট ব্যবহার করেছি, তাই দিনে 500টি অনুরোধের পরে বটটি কুমড়ায় পরিণত হবে)।


উপসংহার

API.AI ইতিমধ্যেই তাত্ক্ষণিক মেসেঞ্জারে ইন্টারেক্টিভ ইন্টারফেস তৈরি করতে এবং সামাজিক নেটওয়ার্কগুলির সাথে চ্যাট সমর্থন করতে ব্যবহার করা যেতে পারে। টুলটিকে আপনার পরিষেবার সাথে সহজেই একত্রিত করা যেতে পারে তা বিবেচনা করে, এটি আপনার ব্যবহারকারীদের সাথে স্বয়ংক্রিয় যোগাযোগের জন্য একটি সুবিধাজনক ওয়ার্কহরস।


পুনশ্চ. এটি আমার প্রথম পোস্ট, আমি গঠনমূলক প্রতিক্রিয়া প্রশংসা করব!

ট্যাগ:

  • api.ai
  • টেলিগ্রাম
  • টেলিগ্রাম বট
ট্যাগ যুক্ত

টেলিগ্রামে কীভাবে বার্তা পাঠানোর সেট আপ করবেন সে সম্পর্কে কয়েকটি শব্দ (এবং আপনাকে প্রোগ্রাম করার দরকার নেই, ভাল, অগত্যা নয়)।

এই নিবন্ধটির জন্য, আমি আরেকটি বট তৈরি করেছি, এবং আমি API কীগুলিও লুকিয়ে রাখব না, কারণ... আমি তার জন্য দুঃখিত না. আপনি পড়ার সাথে সাথে আপনি এটি ব্যবহার করতে পারেন, যদিও আমি আপনাকে পরামর্শ দিচ্ছি আপনার নিজের বট তৈরি করুন এবং কাউকে API কী দেবেন না।

একটি বট তৈরি করা হচ্ছে

সুতরাং, আপনাকে প্রথমে যা করতে হবে তা হল একটি বট তৈরি করা। এটি করতে, আপনার পরিচিতি তালিকায় @BotFather খুঁজুন। এটি টেলিগ্রামের একটি বিশেষ বট, এটি বট তৈরি করতে প্রয়োজন। এই ক্ষেত্রে, আমি web.telegram.org ব্যবহার করি, এটি সুবিধাজনক, আপনাকে আপনার ফোন থেকে আপনার কম্পিউটারে কিছু স্থানান্তর করতে হবে না।

@BotFather খুঁজুন এবং তাকে তিনটি কমান্ড পাঠান: /newBot (স্ক্রিনশটের মতই লিখুন), এবং নতুন বটের নাম দুবার উল্লেখ করুন। এটি গুরুত্বপূর্ণ যে বটের নাম অবশ্যই "বট" দিয়ে শেষ হতে হবে - এইগুলি প্রয়োজনীয়তা।

এর পরে, BotFather আপনাকে বলবে যে সবকিছু ঠিক আছে এবং API এর জন্য কীটি ফেরত দেবে, যা আপনার পরে প্রয়োজন হবে। পরীক্ষার জন্য, আপাতত আপনি আমার চাবি নিতে পারেন - 515479662:AAF1wTj2Xcb3HVURbc_5DbZ9qiz4ddds9iQ.

সংযোগ

এখন, আপনার পরিচিতি তালিকায়, আপনার নামে তৈরি করা বটটি খুঁজুন (আমার ক্ষেত্রে, BablofilDemoBot), এবং স্টার্ট বোতামে ক্লিক করুন। এটি গুরুত্বপূর্ণ কারণ বট নিজেই মানুষের উপর নিজেকে চাপিয়ে দিতে পারে না।

এর পরে, আপনার ব্রাউজারে এই লিঙ্কটি খুলুন

(আপনার বটের জন্য, আপনার নিজের সাথে API কী প্রতিস্থাপন করুন, যেমন https://api.telegram.org/bot APIAPIAPIAPIAPI/আপডেট পান)। আপনি স্ক্রিনশটের মতো প্রায় একই দেখতে পাবেন - বটটির শেষ কার্যকলাপ - কে সংযুক্ত হয়েছে, কে কী লিখেছেন, ইত্যাদি। যদি এটি খালি থাকে তবে বটকে টেলিগ্রামে কিছু বাজে কথা লিখুন এবং পৃষ্ঠাটি রিফ্রেশ করুন। আপনার চূড়ান্ত লক্ষ্য হল chat_id খুঁজে বের করা

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

একটি বার্তা পাঠানো হচ্ছে

এই ধাপে আপনি API কী এবং chat_id জানেন। যা অবশিষ্ট থাকে তা হল একটি বার্তা লিখতে।

তদনুসারে, API, chat_id এবং মেসেজ টেক্সট আপনার নিজের সাথে প্রতিস্থাপন করুন। আমি একটি বট বার্তা হিসাবে PING শব্দটি পাঠাচ্ছি।

https://api.telegram.org/bot APIAPIAPI/sendMessage?chat_id= চ্যাটিড&পাঠ্য= টেক্সট

Aaaand... বট আপনাকে টেলিগ্রামে একটি বার্তা পাঠায়।

ঠিক আছে, এখন, আপনি যদি নিজের কাছে বা একটি গ্রুপে বার্তা পাঠাতে চান (ওহ হ্যাঁ, আপনি যদি একটি গ্রুপে যেতে চান, তাহলে গ্রুপে বটটি যুক্ত করুন এবং আবার chat_id পান, শুধুমাত্র এই সময় গ্রুপের জন্য) স্ক্রিপ্ট, তারপর শুধু লিঙ্কটি টানুন, বলুন, এখানে এইরকম কোড করুন:

urllib.request urllib আমদানি করুন। অনুরোধ urlopen(""" https://api.telegram.org/bot(API_TOKEN)/sendMessage?chat_id=(CHAT_ID)&text=(TEXT)""" ফর্ম্যাট ( API_TOKEN = "515479662:AAF1wTj2Xcb3HVURbc_5DbZ9qiz4ddds9iQ", CHAT_ID = "303964420" , TEXT = "পরীক্ষা পরীক্ষা পরীক্ষা" ))

আপনি নিবন্ধটি পছন্দ করেছেন? বন্ধুদের সাথে ভাগাভাগি করা: