ساخت ربات تلگرام با زبان برنامه نویسی PHP

ساخت ربات تلگرام
5/5 - (1 امتیاز)

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

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

ربات ها به افراد کمک می کنند تا بسیاری از فرآیندها به صورت خودکار انجام شود، به طور مثال ربات های مدیریت گروه زمانی که عضوی اضافه شد برای آن پیامد خوش آمدگویی می فرستند و …. این کار باعث می شود که بسیاری از وظایف خودکار سازی شوند و خدمات بیشتری توسط تلگرام ارائه شود.

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

در این مقاله از دارکوب قصد دارریم شما را با ساخت ربات تلگرام با زبان برنامه نویسی PHP آشنا کنیم که به کمک آن بتوانید به ساخت ربات تلگرام مشغول شوید، پس تا انتهای مطلب همراه ما باشید.

پیش‌نیازها و راه‌اندازی

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

آشنایی با API تلگرام

اولین قدم برای ورود به دنیای ساخت ربات تلگرام داشتن آشنایی با API تلگرام است. API تلگرام یک رابط برنامه نویسی است که برای توسعه دهندگان امکان راه اندازی و ایجاد ربات های تلگرامی را با استفاده از زبان برنامه نویسی PHP را می دهد. تلگرام سه نوع API تلگرام ارائه می دهد که ساخت ربات تلگرام ما با Bot API کار داریم.

Bot API به توسعه دهندگان این امکان را می دهد تا ربات هایی را ایجاد کنند که از پیام های تلگرامی به عنوان رابط کاربری استفاده کنند. این ربات ها می توانند با کاربران تعامل داشته باشند، پیام ارسال کنند و براساس دستورات از پیش تعیین شده واکنش نشان دهند.

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

ایجاد ربات BotFather

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

برای راه اندازی ربات تلگرام تنها کافی است که وارد حساب کاربری خود شوید و با BotFather (@BotFather) یک حساب رسمی که به شما امکان ایجاد و مدیریت ربات ها را می دهد بسازید. پس از آن لازم است که یک نام کاربری برای خود انتخاب کنید و مراحل ساخت ربات را طی کنید.

  1. در چت بات BotFather، دستور /newbot را ارسال کنید.
  2. یک نام کاربری و انتخاب کنید. دقت کنید که نام کاربری باید به واژه ی bot ختم شود.
  3. پس از ثبت موفقیت آمیز، یک توکن دریافت می کنید که برای اتصال ربات به کدهای PHP به آن نیاز دارید.

راه‌اندازی محیط PHP

پیش از شروع کد نویسی در PHP، به یک محیط توسعه نیاز دارید که به شما امکان اجرای کدها را بدهد. برای این منظور لازم است که ابزارهای مفیدی را نصب کنید. این نرم افزارها و ابزارها، یک سرور محلی بر روی کامپیوتر شما ایجاد می کنند که شامل Apache (سرور وب)، MySQL (پایگاه داده) و PHP (مفسر PHP) است. ابزارهایی مانند:

  • XAMPP یا WAMP
  • Laragon

حالا برای این که بخواهید ربات تلگرامی را با استفاده از زبان برنامه نویسی PHP راه اندازی کنید لازم است که برای کد نویسی ها از کتابخانه های متنوعی که این زبان برنامه نویسی در اختیارتان قرار داده است استفاده کنید. 

  • CURL برای ارسال درخواست HTTP
  • JSON برای پردازش پاسخ های دریاقتی
  • PHP Telegram Bot: محبوب‌ ترین کتابخانه برای ساخت ربات با PHP.

نصب Composer و کتابخانه PHP Telegram Bot

برای ساخت و راه اندازی ربات تلگرام کتابخانه های متنوعی وجود دارد و محبوب ترین آن ها PHP Telegram Bot است.

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

نیازهای هر پروژه در یک فایل JSON با نام composer.json تعریف می شود. Composer با استفاده از این فایل، بهترین نسخه از هر بسته را برای وابستگی های پروژه انتخاب می کند. این کار باعث می شود کع فرآیند توسعه بسیار ساده تر شود و توسعه دهندگان بتوانند وقت بیشتری برای ساخت و بهبود برنامه اصلی خود صرف کنند.

 ابزارها و کتابخانه‌های ضروری

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

  • کتابخانه Botman

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

  • کتابخانه Guzzle

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

مراحل ساخت ربات تلگرام

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

ایجاد اسکلت بندی پروژه
در پوشه پروژه PHP فایل اصلی ربات خود را ایجاد کنید برای مثال bot.php

دریافت ورودی از کاربران و پاسخ‌ها

دو روش اصلی برای دریافت پیام‌های کاربران:

  • Long Polling: ارسال درخواست‌ های پیوسته به سرور تلگرام.
  • Webhook: ثبت یک URL مشخص که تلگرام پیام‌ ها را به آن آدرس POST کند. معمولاً برای محیط‌ های تولیدی (Production) از Webhook استفاده می‌ شود.

بات تلگرام

با دریافت داده‌های JSON از تلگرام و تبدیل آن‌ها به آرایه در PHP (با json_decode)، می‌توانید:

دستورات ارسال شده توسط کاربر (مانند /start یا /help) را شناسایی کنید.

پاسخ مناسب را آماده کرده و از طریق متد sendMessage به کاربر بازگردانید.

راه اندازی Webhook

برای دریافت خودکار پیام های کاربران، باید وب هوک را تنظیم کنید.

  1. آدرس دامنه HTTPS خود را آماده کنید.
  2. این URL را به تلگرام معرفی کنید.

https://api.telegram.org/bot<Your-Token>/setWebhook?url=https://yourdomain.com/bot.php

از این مرحله به بعد هر پیامی که به ربات شما ارسال شود به bot.php فرستاده خواهد شد.

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

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

  • اولین خطایی که ممکن است با آن مواجه شوید این است که خطای توکن ربات غیر مجاز است مواجه شوید. لازم است برای رفع این خطا توکن ربات خود را اصلاخ کنید و ذوباره امتحان کنید.
  • دومین خطایی که ممکن است مواجه شوید این است که با خطای چت پیدا نشد مواجه شوید، در این مواقع لازم است که chat_id ارائه شده صحیح است یا خیر.
  • سومین خطایی که ممکن است با آن مواجه شوید این است که با خطای کاربر غیر فعال شده است مواجه شوید که علت این موضوع ممکن است این باشد که در حال تلاش برای انجام عملی روی حساب کاربری هستید که غیر فعال و یا این که حذف شده است که لازم است کاربری که ارسال شده است را دوباره فعال کنید.

گزارش‌گیری و دیباگینگ

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

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

یافتن خطا

  • مشاهده پیام های خطا: اولین قدم این است که به پیام های خطایی که توسط برنامه نمایش داده شده است توجه کنید. این پیام ها اطلاعات ارزشمندی در مورد نوع و محل خطا ارائه می دهند.
  • بررسی گزارش ها: گزارش های خطا که توسط ابزارها یا سیستم عامل generated می شوند، می توانند به شما در درک و شناسایی های بهتر خطاها کمک کنند.
  • مشاهده رفتار غیر منتظره: اگر برنامه به شکل غیر منتظره ای عمل می کند، این می تواند نشانه ای از وجود خطا باشد.

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

  • var_dump ()
  • error_log ()

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

اجرای ربات روی سرور وب

صفحات PHP با انواع مختلفی از وب سررورها قابل ارائه می باشند و می توان از ان ها استفاده کرد. اما در این قسمت ما قصد داریم که با استفاده از Apache/Nginx وب سرور را پیاده سازی کنیم. همین امر باعث می شود تا اسکریپت های PHP با سرعت بیشتری از روش های دیگر می توان از آن ها استفاده کرد و قابل اجرا و ارائه می باشند.

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

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

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

جهت اجرای پروژ به صورت آنلاین:

  • از سرورهای Apache یا Nginx استفاده کنید.
  • اطمینان حاصل کنید که سرور شما دارای SSL فعال است.
  • URL ربات خود را به تلگرام معرفی کنید و مراحل Webhook را به درستی انجام دهید.

 امنیت ربات تلگرام

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

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

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

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

سخن آخر

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

اطلاعات تماس
شعبه 1 و آموزشگاه: تهران، سعادت آباد، چهار راه سرو، کوچه آریا، پلاک 4، طبقه 4، واحد 7
شعبه 2: تهران، سعادت آباد، ضلع جنوب غربی چهار راه سرو، پلاک 62، طبقه 5، واحد 12
تلفن ها: 02122083926 - 02122085386 - 02122082258 (9 الی 17 - پنج شنبه تا 13)
ایمیل: info@sitedar.com
اینستاگرام: darkoobwebdesign
افتخارات و مجوزها
  • جزو شرکت های خلاق معاونت علمی
  • عضو سازمان نظام صنفی رایانه ای
  • رتبه ۴ شورای عالی انفورماتیک
  • دارای مجوز آموزشگاه از فنی و حرفه ای
  • دارای مجوز نشر دیجیتال
  • دارای پروانه کانون آگهی و تبلیغاتی
  • پروانه کسب و کارهای مجازی
  • عضو انجمن کسب و کارهای اینترنتی
  • دارای نماد اعتماد الکترونیکی
پشتیبانی 24 ساعته 7 روز