পাইথন 3 দিয়ে বেসিক টেলিগ্রাম বট কীভাবে তৈরি করবেন

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

যদিও কেউ কেউ বটকে একটি দুষ্কর কাজ হিসাবে বিকাশ করতে পারে তবে এটি আসলে তা নয়। সঠিক পরিকল্পনার সাহায্যে আপনার একটি টেলিগ্রাম বট আপ হতে পারে এবং এক ঘণ্টারও কম সময়ে চলতে পারে! এখানে একটি সরল টেলিগ্রাম বট তৈরি করবেন কীভাবে অনুরোধ করা হলে ইন্টারনেট বিড়ালের সুন্দর চিত্রগুলি আউটপুট করে।

শুরু হচ্ছে

এই টিউটোরিয়ালের জন্য, আমরা পাইথন 3, পাইথন-টেলিগ্রাম-বট এবং অনুরোধ পাঠাগার, এবং থিক্যাটাপি ব্যবহার করতে যাচ্ছি।

টেলিগ্রামের প্রতিটি বটের একটি অনন্য টোকেন থাকে যা অ্যাপ্লিকেশনটির বার্তাপ্রেরণ ইন্টারফেসটি ব্যবহার করতে এটি বট এপিআইয়ের সাথে যোগাযোগ করতে সহায়তা করে। বোল এপিআই, বিকাশকারীদের মধ্যে টেলিগ্রামের অন্যতম জনপ্রিয় বৈশিষ্ট্য , আপনাকে এর বার্তাটি ইন্টারফেস হিসাবে ব্যবহার করতে দেয় to

টোকেনটি পেতে, @ বটফাদারের সাথে একটি কথোপকথন শুরু করুন যা নাম অনুসারে বোঝায় যে একটি অফিশিয়াল বট যা আপনাকে নিজের বটগুলি তৈরি করতে এবং কাস্টমাইজ করতে দেয়। আপনি প্রদত্ত লিঙ্কটি ব্যবহার করে বট অ্যাক্সেস করতে পারেন বা বিকল্পভাবে টেলিগ্রামে '@ বোটফাদার' অনুসন্ধান করতে পারেন।

চ্যাটে একবার, / newbot কমান্ড টাইপ করে আপনার বট তৈরি করুন। আপনার বটের নাম এবং ব্যবহারকারীর নাম সেট করা চালিয়ে যান (আমরা আমাদের @পাওসোমবোটের নাম দেওয়ার সিদ্ধান্ত নিয়েছি)। এটি অনুসরণ করে, আপনি আপনার বটের কাছে অনন্য একটি টোকেন পাবেন।

এখন যেহেতু আমাদের সমস্ত পূর্বশর্ত রয়েছে, এখনই উত্তেজনাপূর্ণ অংশটি পাওয়ার সময়!

গ্রন্থাগারগুলি ইনস্টল করা হচ্ছে

আপনি যদি উইন্ডোজ ব্যবহার করেন তবে কমান্ড প্রম্পটটি ওপেন করুন এবং নিম্নলিখিত কমান্ডগুলি টাইপ করুন:

 pip install python-telegram-bot
pip install requests

আপনি যদি ম্যাকোস বা লিনাক্স ব্যবহার করছেন তবে পরিবর্তে আপনার টার্মিনালে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন। লিনাক্সে অতিরিক্ত, আপনি সুডো সুবিধা সহ ব্যবহারকারী হিসাবে লগ ইন করেছেন তা নিশ্চিত করুন।

 pip3 install python-telegram-bot
pip3 install requests

প্রোগ্রাম লিখছি

আপনার কম্পিউটারে একটি নতুন ফোল্ডার তৈরি করুন এবং এটি আপনার প্রিয় সম্পাদকটিতে খুলুন। একটি নতুন ফাইল তৈরি করুন এবং এর নাম রাখুন main.py। এই ফাইলটিতে আপনার বটের উত্স কোড থাকবে will

এখন, আমরা কিছু বিল্ট-ইন ফাংশনগুলির সাথে আমরা পূর্বে ইনস্টল করা লাইব্রেরিগুলি আমদানি করি।

 from telegram.ext import Updater, CommandHandler
import requests
import re

এখান থেকে প্রোগ্রামটির প্রবাহটি হ'ল থিগ্যাপিপি অ্যাক্সেস করা, একটি এলোমেলো চিত্রের ইউআরএল প্রাপ্ত করা এবং সেই চিত্রটি ব্যবহারকারীর চ্যাটে প্রেরণ করা।

আসুন চিত্রের ইউআরএল পেতে একটি ফাংশন দিয়ে শুরু করা যাক যা অনুরোধগুলির মডিউলটি ব্যবহার করে করা যায়। এই ফাংশনে, আমরা থিকাগাপি দ্বারা সরবরাহ করা একটি এলোমেলো ফাইলের জেএসএন ডেটা লোড করি এবং এর ইউআরএলটি পরে ব্যবহারের জন্য বের করি। JSON অবজেক্টের ফর্ম্যাটটি দেখতে, আপনার ব্রাউজারে https://api.thecatapi.com/v1/images/search এ যান। আপনি এরকম কিছু লক্ষ্য করবেন:

 [{"breeds":[],"id":"a8c","url":"url.jpg","width":800,"height":533}]

লক্ষ্য করুন যে JSON অবজেক্ট একটি অ্যারে যা অভিধান রাখে। এই অভিধানটিতে 'url' কী সহ URL রয়েছে। ইউআরএল বের করার জন্য আমাদের অ্যারের প্রথম উপাদানটি এবং তারপরে প্রাসঙ্গিক কীটি উল্লেখ করতে হবে।

 def getUrl():
#obtain a json object with image details
#extract image url from the json object
contents = requests.get('https://api.thecatapi.com/v1/images/search')
url = contents[0]['url']
return url

পরবর্তী, আমাদের ব্যবহারকারীর আড্ডায় এই চিত্রটি প্রেরণ করতে হবে। এর জন্য, আমাদের ব্যবহারকারীর চ্যাটের অনন্য আইডি পাশাপাশি একটি চিত্রের URL দরকার। এটি করার জন্য একটি মোড়ক ফাংশন তৈরি করা যাক। প্রথমত, আমরা getUrl () কল করি। এলোমেলো চিত্রের ইউআরএল পেতে ফাংশন — আপনার প্রোগ্রামটি ফাংশনের মাধ্যমে পুনরাবৃত্তি করার সময় এই URL টি পরিবর্তন হয়।

এরপরে প্রাপক ব্যবহারকারীর চ্যাট আইডিটি অর্জন করা হবে যা বার্তাগুলির জন্য বটের লক্ষ্য অবস্থানটি সংজ্ঞায়িত করে এবং বট এপিআই-এর ইনবিল্ট সেন্ড_ফোটো () ফাংশনের মাধ্যমে URL টি পার্স করে।

 def sendImage(bot, update):
url = getUrl()
chat_id = update.message.chat_id
bot.send_photo(chat_id=chat_id, image=url)

বট এপিআইয়ের বিভিন্ন ইনবিল্ট ফাংশন এবং তারা কীভাবে কাজ করে সে সম্পর্কে আরও জানার জন্য এই টিউটোরিয়ালের পরে টেলিগ্রামের অফিসিয়াল ডকুমেন্টেশনগুলি নির্দ্বিধায় পরীক্ষা করে দেখুন।

অবশেষে, আসুন এমন একটি ফাংশন তৈরি করি যা বটের সামগ্রিক কাজকে নিয়ন্ত্রণ করে। এই ফাংশনটি — প্রচলিতভাবে প্রধান () বলা হয় — যেখানে আমরা টিউটোরিয়ালটির শুরুতে প্রাপ্ত টোকেনটি ব্যবহার করে বট এপিআইতে একটি HTTP অনুরোধ প্রেরণ করি এবং তারপরে বটটির ব্যবহারকারীর ইন্টারঅ্যাকশনটি কেমন হবে তা নির্ধারণ করে। আমাদের মতো সহজ ক্ষেত্রে, এর অর্থ হ'ল বটটি শুরু করা এবং যখন ব্যবহারকারী দ্বারা অনুরোধ করা হয় তখন সেন্ড ইমেজ () ফাংশনটি কল করা।

 def main():
updater = Updater("1190888035:AAGeJ9316R95NqJLFefV5vQA-UL4np11V2c")
#call sendImage() when the user types a command in the telegram chat
updater.dispatcher.add_handler(CommandHandler('meow',sendImage))
#start the bot
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()

আপনার চূড়ান্ত প্রোগ্রামটি দেখতে এমন হওয়া উচিত:

 from telegram.ext import Updater, CommandHandler
import requests
import re
def getUrl():
#obtain a json object with image details
#extract image url from the json object
contents = requests.get('https://api.thecatapi.com/v1/images/search')
url = contents[0]['url']
return url
def sendImage(bot, update):
url = getUrl()
chat_id = update.message.chat_id
bot.send_photo(chat_id=chat_id, image=url)
def main():
updater = Updater("1190888035:AAGeJ9316R95NqJLFefV5vQA-UL4np11V2c")
#call sendImage() when the user types a command in the telegram chat
updater.dispatcher.add_handler(CommandHandler('meow',sendImage))
#start the bot
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()

আপনার নিজের টেলিগ্রাম বট

অভিনন্দন! আপনি আপনার নিজের স্ট্রেস-রিলিভিং বটটি তৈরি করেছেন যা অনুরোধের পরে সবচেয়ে সুন্দর ইন্টারনেট বিড়ালদের ওপেন সোর্স চিত্র প্রেরণ করে। আপনার প্রোগ্রামটি চালানোর চেষ্টা করুন এবং এটি সক্রিয় করতে আপনার বটের চ্যাটটিতে টাইপ করুন / মিয়াও

যদিও এটি সীমাবদ্ধ কার্যকারিতা সহ একটি সহজ বট হতে পারে, এটি টেলিগ্রমের বট বিকাশ বাস্তুতন্ত্র কতটা শক্তিশালী তা দেখায়। আপনার বটের কার্যকারিতা — আকাশের সীমাবদ্ধতা বাড়ানোর জন্য আপনি যেকোন সংখ্যক জটিল সাববুটাইন এবং বৈশিষ্ট্য যুক্ত করতে পারেন। অবদানকারীরা বছরের পর বছর ধরে অবদানকারী দুর্দান্ত টেলিগ্রাম বটগুলি সম্পর্কে আরও জানতে আমাদের দরকারী টেলিগ্রাম বটগুলির তালিকাটি দেখুন

আপনি গিটহাবের মতো প্ল্যাটফর্মগুলিতে টেলিগ্রাম বটগুলির জন্য বিভিন্ন ওপেন সোর্স লাইসেন্সযুক্ত প্রোগ্রামগুলিও পেতে পারেন। বেশিরভাগ ওপেন সোর্স লাইসেন্স আপনাকে কোনও প্রোগ্রামের উত্স কোড ব্যবহার করতে, অধ্যয়ন করতে, ডাউনলোড করতে বা সংশোধন করার অনুমতি দেয়।

আপনার টেলিগ্রাম বট অনলাইন হোস্ট করুন

এখন আপনার বট আপ এবং চলমান রয়েছে, আপনার পিসিতে মেইন.পি বন্ধ করার চেষ্টা করুন এবং আপনার টেলিগ্রাম ম্যাসেঞ্জার অ্যাপটিতে বটটি ব্যবহার করুন। এটি এখনও / মিয়া আদেশটি সাড়া দেয়? না, তা হয় না।

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

যেমন, আপনি যখন অ্যাপটি ব্যবহার করতে চান প্রতিটি সময় প্রোগ্রামটি চালানো না সম্ভব হয় না সুবিধাজনক। এই সমস্যাটি সমাধান করার জন্য, আমাদের আপনার ডিভাইসের উপর বটের নির্ভরতা অপসারণ করতে হবে

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

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