آموزش ساخت ربات تلگرام با PHP

به جرات میتوان گفت تلگرام همه گیر ترین اپلیکیشن پیام رسان ایران هست پیام رسانی که نزدیک ۳۰ میلیون ایرانی عضو این پیام رسان هستند. پیام رسانی که امکانات جالب به استفاده کننده ها ارائه میدهد در ادامه چند امکان این پیام رسان رو مورد بررسی قرار میدهیم.

امکانات تلگرام :

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

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

آموزش ساخت ربات تلگرام با PHP

تلگرام یکی از پیام رسان هایی هست که به صورت Open Source یا همان متن باز ارائه می شود و یک API جامع و کاربردی برای برنامه نویسان دارد که توسعه نرم افزارهای مفید را امکان‌پذیر می‌سازد.

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

از بات BotFather  برای ایجاد ربات استفاده کنید :

اولین قدم برای ایجاد ربات این است که یک حساب کاربری برای بات خود ایجاد کنید. برای این کار از BotFather استفاده خواهیم کرد. این ربات را به لیست خود در تلگرام اضافه کرده و دستور /newbot را وارد نمایید.

ایجاد ربات تلگرام

بعد از اینکه ربات خود را ثبت کردید، BotFather  یک توکن ( token) به شما نمایش خواهد داد که باید از آن نگه داری کنید.  با انتخاب گزینه‌ی /help تمامی دستورات لازم برای توسعه‌ی بات به شما نشان داده می‌شود. 

با یک آنالیزگر ارتباط برقرار کنید :

هیچ آنالیزگری در API بات های تلگرام وجود ندارد. بنابراین برای اطلاع از تعداد کاربرانی که از ربات استفاده می‌کنند و نحوه‌ی عملکردشان، مجبوریم سراغ راه‌حل های ثانویه برویم.
Botan ابزار رایگانی است که برای انالیز ربات‌های تلگرام توسعه داده شده است. با استفاده از این ابزار می‌توانید کاربران خود را دسته بندی کنید، اطلاعات‌شان را ببینید و نحوه‌ی عملکردشان را مشاهده نمایید.

ایجاد ارتباط با آنالیزگر در تلگرام

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

ثبت ربات تلگرام در آنالیزگر

از وب هوک (Webhook)  برای دریافت پیام‌های کاربران استفاده کنید :

با استفاده از دو تکنیک webhooks و long polling می‌توانید پیام های کاربران خود را در تلگرام دریافت کنید.

وب هوک در تلگرام

در روش long polling یا همان getUpdates هربار درخواستی را به تلگرام ارسال می‌کنید و آخرین پیام‌هایی را که کاربران به ربات فرستاده‌اند، دریافت می‌کنید.  ولی در روش وب هوک هر زمان کاربر پیامی به ربات تلگرام شما ارسال کند، بلافاصله این پیام به آدرس وب هوک شما ارجاع داده می‌شود. برای استفاده از این API تلگرام باید ssl  داشته باشید. 

آدرس URL زیر را در مرورگر باز کنید.

برای تنظیم ssl  کد زیر را در خط فرمان وارد کنید.

مطمین شوید که ssl روی  دامنه‌ی شما فعال شده باشد.

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

در مرحله‌ی اخر باید پاسخ زیر را دریافت کنید.

این پیام  یعنی اینکه همه چیز درست است و می‌توانیم به سراغ پیاده‌سازی هسته‌ی ربات خود برویم.

پایگاه داده بسازید :

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

 

 مرحله‌ی بعد: کلاس کرنومتر را ایجاد کنید :

کلاس stopwatch.php را برای کار با پایگاه داده ایجاد می‌کنیم. دو متغیر خصوصی برای آن در نظر می‌گیریم تا آیدی چت کاربر و زمان‌ را به آن نسبت بدهیم.

زمانیکه کاربر دکمه‌ی شروع را انتخاب می‌کند، زمان دقیق و آیدی چت در یک ردیف از پایگاه داده ذخیر خواهد شد.

زمانیکه تایمر متوقف شد، ردیف فوق باید از پایگاه داده حذف شود:

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

 

از  کتابخانه‌های پی اچ پی کمک بگیرید :

پی اچ پی کتابخانه های زیادی برای کار با API تلگرام دارد. اما در حال حاضر فقط کتابخانه‌ی PHP  Telegram Bot API  از هر دو API بوتان و بات تلگرام پشتیبانی می‌کند.  با استفاده از Composer  این کتابخانه را نصب کنید.

 

برنامه‌نویسی وب هوک را شروع کنید :

باید یک اسکرپیت برای پردازش پیام و ارسال جواب برای کاربر بنویسیم. برای اینکار فایل index.php را باز می‌کنیم و کلاس کرنومتر را به آن اضافه می‌کنیم. یک کانکشن به mysql باز کرده و آن را اجرا می‌کنیم:

 

دستورات را تعریف کنید :

حالا باید ربات را به گونه‌ای تنظیم کنیم که به دستور /start پاسخ  دهد. این دستور برای شروع تمامی ربات‌های تلگرام استفاده می‌شود.

 

در این دستور یک تابع تعریف می‌کنیم که وقتی کاربر دکمه‌ی شروع را فشار می‌دهد، یک پیام خوشامد برای او فرستاده شود. برای شروع کار کرنومتر هم یک دستور /go  برای آن تعریف می‌کنیم:

 

برای تعریف دستور /status  نیز همین فرایند را طی می‌کنیم. کافی است متد status() را فراخوانی کرده و نتیجه را دریافت کنیم. اگر این تابع مقدار تهی را بازگرداند، یعنی اینکه کرنومتر شروع  به کار نکرده است.

 

زمانیکه کاربر کرنومتر را متوقف کرد، ما باید زمان اندازه گرفته شده را به او نشان دهیم. این کار توسط تابع stop() انجام خواهد شد.

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

 

یک صفحه کلید برای بات خود بسازید :

یک کیبورد برای بات  خود بسازید تا کاربر بتواند دستورالعمل‌های آن را انتخاب کند. ربات ما دو حالت برای انتخاب خواهد داشت. یک حالت برای شروع کار کرنومتر و دیگری برای پایان کار آن. این دو حالت را توسط تابع sendMessage() پیاده‌سازی می‌کنیم.

برای اینکه بتوانید ربات خود را به کاربران نشان دهید باید آن را در مخازنی مانند  Storebot.me ذخیره کنید. لینک http://storebot.me/add را در مروگر خود فراخوانی کنید و فرم مربوطه را کامل نمایید. برای ذخیره ربات باید نام، نام کاربری و دسته بندی برای ربات خود انتخاب نمایید.

آموزش ساخت ربات تلگرام

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

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

دیدگاه کاربران

تعداد دیدگاه های کاربران : ۰ دیدگاه
هنوز دیدگاهی ارسال نشده است.


Top