مازیار لرستانی

مازیار لرستانی: راهنمای گام به گام برای ساخت یک ربات تلگرام

می خوای یه ربات تلگرام بسازی و ازش برای انجام کارهای مختلف مثل ارسال پیام خودکار پاسخگویی به سوالات یا مدیریت گروه استفاده کنی؟ اما از کجا شروع کنی؟ نگران نباش! این مقاله یه راهنمای گام به گام بهت ارائه می ده که با دنبال کردنش می تونی به راحتی یه ربات تلگرام بسازی حتی اگه هیچ تجربه برنامه نویسی نداری.

قدم اول: انتخاب زبان برنامه نویسی

اولین قدم انتخاب زبانی هست که میخوای باهاش کد رباتتو بنویسی. چند تا زبان مختلف وجود داره که می تونی ازشون استفاده کنی:

  • Python: یکی از محبوب ترین زبان های برنامه نویسی به خاطر سادگی و انعطاف پذیریش. کتابخانه هایی مثل telethon و python-telegram-bot بهت کمک می کنن تا به راحتی با API تلگرام تعامل داشته باشی.
  • Node.js: یه پلتفرم جاوا اسکریپت برای ساخت برنامه های سرور ساید. telegram-node یکی از کتابخانه هایی هست که می تونی برای ساخت ربات ازش استفاده کنی.
  • PHP: یکی از زبان های محبوب وب کتابخانه های Telegram Bot API و PHP Telegram Bot بهت کمک می کنن تا با API تلگرام ارتباط برقرار کنی.

با توجه به نیازت و تجربه برنامه نویسیت یکی از این زبان ها رو انتخاب کن. اگه تازه شروع کردی Python گزینه مناسبی هست.

قدم دوم: ثبت ربات در تلگرام

برای شروع باید یه ربات در تلگرام بسازی. برای این کار به @BotFather در تلگرام پیام بده. @BotFather یه ربات تلگرام هست که بهت کمک می کنه تا ربات خودت رو بسازی. با ارسال دستور /newbot به @BotFather ازت میخواد اسم و username رباتتو وارد کنی. نام رباتتو به هر چیزی که دوست داری بذار ولی username ربات باید منحصربفرد باشه و با bot تموم بشه. بعد از انتخاب اسم و username @BotFather یه توکن API بهت میده که برای ارتباط با رباتت ازش استفاده می کنی. این توکن API مثل رمز عبور رباتت هست پس حتما اون رو در جای امن ذخیره کن.

قدم سوم: ساخت framework ربات

بعد از انتخاب زبان و گرفتن توکن API نوبت به ساخت framework رباتت می رسه. framework اساس کد رباتتو تشکیل میده و وظایف مختلفی مثل دریافت update از تلگرام پردازش update و ارسال response به API تلگرام رو انجام میده.

در اینجا یه مثال از framework یک ربات Python رو با کتابخانه python-telegram-bot مشاهده می کنید:

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

# توکن  API  رباتتون رو اینجا وارد کنید
TOKEN = YOUR_BOT_TOKEN

# تابع  start  که وقتی کاربر  /start  رو  تایپ  میکنه اجرا میشه
def start(update, context):
    update.message.reply_text(سلام! من ربات  ... هستم! )

# تابع  echo  که  پیام  کاربر رو  بازگشت میده
def echo(update, context):
    update.message.reply_text(update.message.text)

# تعریف  updater  و  dispatcher
updater = Updater(TOKEN, use_context=True)
dispatcher = updater.dispatcher

# اضافه کردن  handler  برای  command  /start
dispatcher.add_handler(CommandHandler('start', start))

# اضافه کردن  handler  برای  پیام
dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))

# شروع  loop  برای  شنیدن  update  ها
updater.start_polling()

#  خاتمه  loop
updater.idle()

در این framework اول توکن API رباتتون رو وارد متغیر TOKEN میکنید. بعد تابع start رو تعریف می کنید که وقتی کاربر /start رو تایپ میکنه اجرا میشه. تابع echo هم پیام کاربر رو بازگشت میده. در نهایت با استفاده از Updater و Dispatcher handler ها رو اضافه میکنید و loop رو شروع میکنید تا update ها رو دریافت کنید.

قدم چهارم: تعریف handler ها

handler ها وظیفه پردازش update ها رو بر عهده دارن. هر handler برای یک نوع update مشخص تعریف میشه مثل command ها پیام ها یا event های دیگر.

مثلا در framework قبلی handler ها برای command /start و پیام ها تعریف شده بودن. میتونید handler هایی برای کارهای دیگه هم تعریف کنید مثل :

  • ارسال پیام خودکار: برای ارسال پیام خودکار میتونید از MessageHandler و Filters برای شناسایی update ها استفاده کنید.
  • جواب به command ها: با استفاده از CommandHandler میتونید handler هایی برای command های مختلف تعریف کنید.
  • پاسخ به پیام های خاص: با استفاده از MessageHandler و Filters میتونید پیام هایی رو که کلمات کلیدی خاصی دارن شناسایی کنید و بهشون جواب بدید.

قدم پنجم: اضافه کردن قابلیت های جدید

بعد از ساخت framework و تعریف handler ها می تونید قابلیت های جدیدی رو به رباتتون اضافه کنید. با استفاده از API تلگرام میتونید با رباتتون کارهای زیادی انجام بدید مثل:

  • ارسال پیام: رباتتون میتونه با استفاده از send_message send_photo send_video و … پیام عکس فیلم و … رو برای کاربر ارسال کنید.
  • دریافت update : رباتتون میتونه با استفاده از update.message update.channel_post و … update های مختلف رو دریافت کنید.
  • مدیریت گروه ها: رباتتون میتونه با استفاده از get_chat_members kick_chat_member ban_chat_member و … اعضا گروه ها رو مدیریت کنید.
  • ارسال notification : رباتتون میتونه با استفاده از send_notification notification هایی رو برای کاربر ارسال کنید.
  • انجام task ها: با استفاده از API تلگرام میتونید task هایی مثل جستجو در گوگل چک کردن وضع هوا و … رو به رباتتون اضافه کنید.

نکات مهم در ساخت ربات تلگرام

  • توکن API رو در جای امن ذخیره کنید.
  • کد رباتتون رو قبل از اجرا کردن به طور مناسب تست کنید.
  • از کلاس Update برای دریافت update ها استفاده کنید.
  • handler های مختلف رو برای پردازش update ها تعریف کنید.
  • از API تلگرام برای اضافه کردن قابلیت های جدید استفاده کنید.

جدول خلاصه توابع API تلگرام

تابع توضیحات
send_message برای ارسال پیام
send_photo برای ارسال عکس
send_video برای ارسال فیلم
get_chat_members برای دریافت لیست اعضا گروه
kick_chat_member برای اخراج عضو از گروه
ban_chat_member برای مسدود کردن عضو
send_notification برای ارسال اعلان

نتیجه گیری

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

پرسش و پاسخ

1. من چه زبان برنامه نویسی رو انتخاب کنم؟

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

2. من توکن API ربات رو گم کردم چطور می تونم اون رو بازیابی کنم؟

 برای  بازیابی  توکن  API    به  @BotFather  در  تلگرام  پیام  بدید و  با  ارسال  دستور  **/mybots**    لیست  ربات  های  خودتون  رو  مشاهده  کنید.  با  انتخاب  ربات  مورد  نظر  توکن  API  رو  مشاهده  میکنید. 

3. من چطور می تونم ربات رو برنامه ریزی کنم تا در زمان های خاص پیام ارسال کنه؟

 برای  برنامه  ریزی  ربات    می  تونید  از  کتابخانه  های  اضافی  مثل  `schedule`  در  Python  استفاده  کنید.  این  کتابخانه  به  شما  اجازه  میده  تا  task  هایی  رو  در  زمان  های  خاص  برنامه  ریزی  کنید. 

نمایش بیشتر
دکمه بازگشت به بالا