آموزش ساخت ربات تلگرام با پایتون – راهنمای ساخت ربات تلگرام با استفاده از زبان برنامه نویسی پایتون

ربات
ربات


امروزه از ربات‌ها در همه جا استفاده می‌شود. تا دیروز حتی از وجود آن‌ها نیز خبر نداشتیم، اما امروز نمی‌توانیم زندگی خود را بدون آن‌ها تصور کنیم.

ربات‌ها در بسیاری از پیام رسان‌ها وجود دارند و عملکردهای گوناگونی از خود نشان می‌دهند. از ربات‌ها برای ساخت بازی، دادن رژیم غذایی، پیدا کردن رستوران‌های اطراف موقعیت مکانی شما، ارتباط با پشتیبانی سایت فروش آنلاین و حتی ارائه خدمات پرداخت استفاده می‌شود.

اما علت و راز محبوبیت ربات‌ها چیست؟ مهم‌ترین دلیل این است که برای برخی از کاربردها، استفاده از ربات به جای اپلیکیشن به صرفه تر و راحت‌تر است. سایر دلایل نیز عبارت‌اند از:

طراحی ساده ربات‌ها:

درست است که یک ربات از طراحی زیبایی بهره مند نیست و بسیار طراحی ساده‌ای دارد، اما بدون شک در مقایسه با اپلیکیشن‌ها، استفاده از آن‌ها نیز ساده‌تر است. سادگی استفاده از ربات‌ها به علت طراحی ساده و مینیمال آن‌ها است.

عملکرد ربات‌ها روی وظیفه آن‌ها متمرکز شده و خبری از وجود تبلیغات فراوان در آن‌ها نیست:

مجبور نیستید که برای انجام هر کاری یک اپلیکیشن را نصب کنید. می‌توان بسیاری از خدمات را به وسیله استفاده از ربات‌ها دریافت کرد. استفاده از ربات‌ها بسیار برای صاحبان رستوران و فروشگاه‌ها مفید است. معمولاً نمی‌توان مشتریان را به نصب اپلیکیشن‌ها ترغیب کرد. اما می‌توان به ارائه ربات‌ها در پیام رسان‌هایی که همین الان مشتریان در حال استفاده از آن‌ها هستند پرداخت و خدمات متنوعی را در اختیار مشتریان قرار داد.

هیچ کس علاقه ندارد فضای گوشی خود را با نصب اپلیکیشن جدید پر کند. بنابراین استفاده از ربات به جای اپلیکیشن‌های پر از تبلیغات و سنگین، در بسیاری از مواقع بهتر است.

نیازی به ساخت اکانت و احراز هویت برای استفاده از ربات وجود ندارد:

برای استفاده از ربات، احتیاجی به ساخت اکانت و احراز هویت نیست. شما از قبل در یک پیام رسان اکانت ساخته‌اید و عملیات احراز هویت را انجام داده‌اید.

ربات در میان سایر چت‌های شما پدیدار شده و در واقع انگار در حال صحبت کردن با یک دوست هستید. اگر قصد استفاده از ربات را نداشته باشید، به راحتی آن را بلاک می‌کنید! اگر دوباره به آن نیاز پیدا کردید، ربات را از لیست بلاک خود خارج می کنید.

بنابراین عدم نیاز به ساخت اکانت و وارد کردن رمز عبور، از ویژگی‌های مثبت ربات محسوب می‌شود.

پیام رسان تلگرام

تلگرام
تلگرام


حالا که از دلایل اصلی محبوبیت استفاده از ربات‌ها صحبت کردیم، می‌خواهیم خودمان به ساخت ربات بپردازیم!

در این مطلب قصد داریم یک ربات برای اپلیکیشن محبوب تلگرام طراحی کنیم. تلگرام یک اپلیکیشن پیام رسان است که با ورود خود به بازار پیام رسان‌ها و ارائه امکانات بی‌نظیر، گوی سبقت را از بسیاری از پیام رسا‌های قدیمی و پرچم دار موجود ربوده است.

کانال‌های زیادی در پیام رسان تلگرام وجود دارد که در آ‌ن‌ها اخبار و آموزش‌های متنوعی وجود دارد. در همین رابطه مقاله ۲۴ کانال تلگرام مفید برای مهندسین کامپیوتر و برنامه نویسان — فهرست جامع را در مجله فرادرس مطالعه کنید.

یکی از امکانات جذاب ارائه شده در پیام رسان تلگرام نیز ربات‌ها هستند. ربات‌های کاربردی زیادی در تلگرام وجود دارند.

در این قسمت می‌توانید لیستی از بهترین ربات‌های تلگرام را مشاهده کنید.

لیست ربات‌های کاربردی تلگرام

· ربات Andyrobot@ برای آموزش زبان انگلیسی

· ربات مترجم YTranslateBot@

· ربات مدیریت زمان Pomodoro_timer_bot@

· ربات دریافت اطلاعات فیلم و سریال @IMDB

· ربات تبدیل فرمت‌های مختلف صوتی و تصویری @NewFileConverteBot

چگونگی ساخت ربات تلگرام

بات فادر
بات فادر


تلگرام برای ساخت ربات، خود رباتی به نام بات فادر (BotFather) را ارائه کرده است. با استفاده از این ربات می‌توان یک ربات جدید ایجاد کرد.

کار با این ربات بسیار ساده است و پیچیدگی خاصی در استفاده از آن وجود ندارد. پس از ساخت ربات به وسیله بات فادر، یک کلید در اختیار شما قرار می‌گیرد که از آن با نام Access Token یاد می‌شود. این کلید مختص شماست و باید آن را در جایی ذخیره کنید، چرا که در مراحل بعدی ساخت ربات به کار شما خواهد آمد.

همانطور که می‌دانید ربات‌ها وظایف خود را که از قبل برای آن‌ها تعیین شده با دریافت دستوراتی مشخص انجام می‌دهند.

به عبارت دیگر، شما برای تعامل با ربات می‌توانید از چند دستور مشخص استفاده کنید. با فرستادن این دستورات به ربات، ربات عملیات مشخصی را انجام می‌دهد.

این که به ازای دریافت چه دستوری، چه کاری انجام شود را می‌توان با برنامه نویسی ربات مشخص کرد.

برنامه نویسی ربات

با استفاده از زبان‌های برنامه نویسی، می‌توان منطق عملکرد ربات را مشخص کرد. در ساخت ربات تلگرام از زبان‌های معروف و پرکاربردی مانند پایتون، جاوا، متلب و پی اچ پی استفاده می‌شود.

هر یک از این زبان‌ها از نقاط قوت و ضعف مخصوص خود برخوردار است و از آن‌ها برای طراحی ربات‌های مختلف با عملکردهای گوناگون استفاده می‌شود.

در همین رابطه می‌توانید آموزش‌های فرادرس در زمینه برنامه نویسی و ساخت ربات تلگرام را تهیه و مشاهده کنید.

زبان برنامه نویسی پایتون

زبان برنامه نویسی پایتون
زبان برنامه نویسی پایتون


زبان برنامه نویسی پایتون یک زبان چند منظوره و پرکاربرد است. پایتون در دنیا و در میان توسعه دهندگان از محبوبیت بسیار بالایی برخوردار است.

از پایتون در زمینه‌های مختلفی استفاده می‌شود، از جمله:

· هوش مصنوعی و یادگیری ماشین

· برنامه نویسی وب

· ساخت اپلیکیشن‌های دسکتاپ

· برنامه نویسی موبایل

و البته ساخت ربات‌های تلگرام.

مزایای پایتون

پایتون مزایای زیادی دارد، از جمله:

  • یادگیری، نوشتن کد و خواندن کد آن آسان است
  • رایگان و متن باز است
  • می‌توان با استفاده از مفاهیم شی گرایی با آن برنامه نوشت
  • کتابخانه‌های فراوانی را در اختیار توسعه دهنده قرار می‌دهد
  • کدها را خط به خط اجرا می‌کند و در صورت وجود خطا از اجرای کدهای بعدی جلوگیری می‌کند

نحوه نصب پایتون

در این قسمت نحوه نصب پایتون را برای سیستم عامل‌های مختلف شرح می‌دهیم. از پایتون می‌توانید در سیستم عامل‌های مختلفی نظیر ویندوز، لینوکس و مک استفاده کنید.

از آنجایی که آموزش ما در محیط لینوکس انجام می‌شود، نحوه نصب پایتون روی توزیع‌های مختلف لینوکس را توضیح خواهیم داد.

نصب پایتون روی لینوکس

برای نصب پایتون روی لینوکس، مراحل زیر را دنبال کنید.

ابتدا بررسی کنید که پایتون در حال حاضر روی سیستم شما نصب است یا نه. برای این کار، ترمینال را باز کرده و دستور زیر را تایپ و اجرا کنید:

Python3 --version

برای بررسی نصب بودن سایر نسخه‌های پایتون به جای python3، python2 یا python1 را تایپ کنید.

اگر به طور مثال پایتون نسخه 3.6.10 روی سیستم شما نصب باشد، نتیجه زیر را مشاهده خواهید کرد:

$ python3 --version

Python 3.6.10

اگر پایتون روی سیستم شما نصب نباشد، باید آن را خودتان نصب کنید.

به لینک زیر مراجعه کنید. این لینک شما را به وبسایت رسمی پایتون برای دانلود آن هدایت خواهد کرد.

· دانلود پایتون از وبسایت رسمی آن

نسخه موردنیاز پایتون خود را دانلود کنید.

تقریباً برای هر توزیع لینوکسی موجود، با استفاده از دستور زیر می‌توانید پایتون را نصب کنید. دستور زیر را ترمینال نصب و اجرا کنید:

$ sudo apt-get install python3.8

ممکن است شما قصد نصب نسخه دیگری از پایتون را داشته باشید. در این صورت باید شماره نسخه را در دستور بالا اصلاح کنید.

در ترمینال، ابتدا از شما رمزعبور اکانت لینوکس خواسته می‌شود:

وارد کردن رمز عبور برای نصب پایتون
وارد کردن رمز عبور برای نصب پایتون


سپس از شما می‌خواهد تا اختصاص فضای ذخیره سازی برای نصب پایتون را تأیید کنید:

اختصاص فضای ذخیره سازی برای نصب پایتون
اختصاص فضای ذخیره سازی برای نصب پایتون


در مرحله بعد، پکیج‌ها یا همان بسته‌های موردنیاز نصب می‌شوند:

نصب بسته‌های مورد نیاز
نصب بسته‌های مورد نیاز


تا اتمام نصب شدن بسته‌های مورد نیاز منتظر بمانید:

فرآیند نصب بسته‌های مورد نیاز پایتون
فرآیند نصب بسته‌های مورد نیاز پایتون


اتمام نصب:

اتمام نصب پایتون
اتمام نصب پایتون

برای سنجش نصب پایتون روی سیستم خود دستور زیر را در ترمینال تایپ و اجرا کنید:

python3.8

در صورتی که پایتون روی سیستم شما نصب باشد، خروجی زیر را در ترمینال مشاهده خواهید کرد:

نصب موفق پایتون روی لینوکس
نصب موفق پایتون روی لینوکس


اگر می‌خواهید درمورد نصب پایتون روی لینوکس اطلاعات بیشتری را کسب کنید، به شما مطالعه مقاله نصب پایتون در لینوکس — از صفر تا صد را در مجله فرادرس پیشنهاد می‌کنیم.

ساخت ربات با پایتون

در این قسمت قصد داریم نحوه ساخت یک ربات تلگرام را با زبان برنامه نویسی پایتون شرح دهیم.

پیش نیازها

شما برای خواندن ادامه این مطلب و ساخت اولین ربات تلگرام خود باید به زبان برنامه نویسی پایتون مسلط باشید. در همین رابطه می‌توانید از آموزش‌های زیر استفاده کنید.

ساخت ربات در بات فادر

برای ایجاد یک ربات جدید، ابتدا باید آن را در بات فادر ایجاد و ثبت کنیم. برای استفاده از بات فادر، احتیاج به یک اکانت تلگرام دارید.

اگر در تلگرام اکانت ندارید روی لینک زیر کلیک کنید.

در اپلیکیشن تلگرام، روی دکمه سرچ یا همان جستجو کلیک کنید. عبارت @botfather را در نوار جستجو تایپ کنید.

بات فادر، ربات رسمی تلگرام است که خدمات لازم برای ساخت ربات را به کاربران ارائه می‌دهد.

جستجوی ربات بات فادر در تلگرام
جستجوی ربات بات فادر در تلگرام

محیط ربات به شکل زیر خواهد بود:

محیط ربات بات فادر
محیط ربات بات فادر

حال روی دکمه start کلیک کنید. سپس باید دستور /newbot را در ربات تایپ کنید، یا این که آن دستور را از لیستی که بات فادر برای شما ارسال کرده است، پیدا کنید:

ایجاد ربات جدید در بات فادر
ایجاد ربات جدید در بات فادر


حال نام و نام کاربری مناسبی را برای ربات خود انتخاب کنید:

انتخاب نام و نام کاربری
انتخاب نام و نام کاربری


بات فادر برای شما یک access token ارسال می‌کند. آن را در جایی ذخیره کنید چرا که در مراحل بعدی به آن احتیاج پیدا خواهید کرد.

برنامه نویسی ربات

یک پوشه جدید ایجاد کنید و در ترمینال به مسیر آن پوشه بروید.

سپس باید یک محیط مجازی یا virtual environment ایجاد کنیم. محیط مجازی به شما این اجازه را می‌دهد که فضاهای مختلفی را در کامپیوتر خود ایجاد کرده و مجموعه کتابخانه‌ها و نسخه‌های مختلفی را در آن فضاها استفاده کنید.

با ساخت محیط مجازی، قادر به جداسازی محل نصب کتابخانه‌های ضروری مورد نیاز برای یک پروژه خواهید بود.

با نوشتن دستور زیر در ترمینال، یک محیط مجازی را ایجاد می‌کنیم:

python -m venv env

سپس، محیط مجازی را با استفاده از دستور زیر فعال می‌کنیم:

source env/bin/activate

بعد از آن، نیاز است تا یک گروه تلگرام ایجاد کرده و ربات خود را به عنوان یک عضو به آن اضافه کنیم:

اضافه کردن ربات به گروه
اضافه کردن ربات به گروه


سپس نیاز داریم تا Chat ID را به دست آوریم. این کار را با ارسال دستور زیر به گروه تلگرامی انجام می‌دهیم:

/my_id BOT_NAME

سپس، نیاز است تا آدرس اینترنتی زیر را در مرورگر خود وارد کنید:

https://api.telegram.org/botBOT_TOKEN/getUpdates

در آدرس بالا، منظور از BOT_TOKEN، همان Access Token است که قبلاً از بات فادر دریافت کرده‌ایم.

این آدرس، پاسخ JSON مورد نیاز را به ما باز می‌گرداند. این پاسخ، شامل Chat id ما نیز می‌شود:

پاسخ JSON
پاسخ JSON


حال باید یک فایل پایتون به نام bot و با پسوند .py ایجاد کنیم. (یعنی فایلی با نام bot.py). سپس کد زیر را به این فایل اضافه می‌کنیم:

import requests

import time

# list of quotes

quotes = [

'First, solve the problem. Then, write the code. – John Johnson',

'Experience is the name everyone gives to their mistakes. – Oscar Wilde',

'Code is like humor. When you have to explain it, it’s bad. – Cory House',

'Before software can be reusable it first has to be usable. – Ralph Johnson',

'Optimism is an occupational hazard of programming: feedback is the treatment. - Kent Beck'

]

# loop through the quotes

for quote in quotes:

url = 'https://api.telegram.org/bot1848805395:AAHaacRzz3vDJ8vrQqVZ4vMPTqY1OBOQ12Q/sendMessage?chat_id=CHAT_ID&text="{}"'.format(quote)

requests.get(url)

# sends new quotes every 20seconds

time.sleep(20)

قبل از اجرا و تست ربات، نیاز است تا ماژول‌های پیش نیاز را با استفاده از دستور زیر نصب کنیم:

pip install requests

حال باید برنامه خود را اجرا و آزمایش کنیم. برای این کار دستور زیر را در ترمینال تایپ و اجرا می‌کنیم:

python bot.py

نتیجه به صورت زیر خواهد بود. در ربات ما هر ۲۰ ثانیه، یک جمله به صورت تصادفی نمایش داده خواهد شد:

ارسال جملات تصادفی با استفاده از ربات در گروه
ارسال جملات تصادفی با استفاده از ربات در گروه


حال می‌خواهیم ربات خود را به یک API متصل کنیم که جملات مربوط به برنامه نویسی را برای ما نمایش دهد.

از این API در برنامه خود استفاده خواهیم کرد.

سپس، کدهای زیر را به بالای فایل bot.py خود اضافه می‌کنیم:

from telegram.ext import Updater, CommandHandler, MessageHandler, Filters

import json

حال، تابعی را ایجاد می‌کنیم تا جملات تصادفی را برای ما ارسال کند. تکه کد زیر، تابع مورد نظر را برای ما ایجاد خواهد کرد:

telegram_bot_token = "TOKEN"

updater =Updater(token=telegram_bot_token, use_context=True)

dispatcher =updater.dispatcher

def random(update, context):

# fetch data from the api

response = requests.get('http://quotes.stormconsultancy.co.uk/random.json')

data = response.json()

# send message

context.bot.send_message(chat_id=update.effective_chat.id, text=data['quote'])

# linking the /random command with the function random()

quotes_handler =CommandHandler('random', random)

dispatcher.add_handler(quotes_handler)


اجازه دهید برنامه را اجرا کرده و خروجی را ببینیم:

ارسال جملات تصادفی در رابطه با برنامه نویسی
ارسال جملات تصادفی در رابطه با برنامه نویسی


سخن پایانی در رابطه با ساخت ربات تلگرام با پایتون

در این مطلب، آموزش ساخت ربات تلگرام برای استفاده در گروه‌ها مطرح شد.

کارهای زیادی را می‌توان با استفاده از ربات‌ها انجام داد. می‌توانید ویژگی‌های زیادی را به ربات خود اضافه کرده و از کاربران بابت استفاده از بخضی از آن ویژگی‌ها، هزینه‌ای را دریافت کنید.

در واقع می‌توان با ساخت ربات تلگرام به کسب درآمد نیز پرداخت.

در همین راستا می‌توانید از آموزش فرادرس در رابطه با ساخت ربات تلگرام با پایتون و سایر آموزش‌های کاربردی این سایت فوق‌العاده استفاده کنید.

منبع

https://www.section.io/engineering-education/building-a-telegram-bot-with-python-to-generate-quotes/

https://coderlife.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%b3%d8%a7%d8%ae%d8%aa-%d8%b1%d8%a8%d8%a7%d8%aa-%d8%aa%d9%84%da%af%d8%b1%d8%a7%d9%85-%d8%a8%d8%a7-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%b1%d8%a7%d9%87/