آموزش ساخت ربات تلگرام با php (قسمت سوم)


دسته‌بندی‌ها: ربات تلگرام
لوگو  داده پرداز پارسیان

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

 

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

در قسمت های قبل با نحوه ایجاد ربات تلگرام با استفاده از ربات پدر(bot father) آشنا شدیم. در این آموزش ربات ساخته شده توسط bot father را با استفاده از زبان php توسعه خواهیم داد.

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

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


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

https://core.telegram.org/bots/api

برای ارتباط با ربات تلگرام دو متد وجود دارد. متد setWebhook و متد getUpdates.

متد getUpdates برای ارتباط با تلگرام:

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

متد setWebhook برای ارتباط با تلگرام:

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

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

در ادامه هر دو متد را با هم بررسی می‌کنیم.
ابتدا مثالی از فعال کردن روش setWebhook بیان می‌کنیم. با الگوی زیر یک URL ساخته و آن را در مرورگر خود وارد می‌کنیم:

https://api.telegram.org/bot[TOKEN]/setWebhook?url=[URL]

در مثال فوق Token ربات خود را در [TOKEN] و آدرس فایل برنامه نویسی شده ارتباط با ربات در [URL] قرار می‌گیرد.

مثالی از پیاده سازی الگوی فوق:

https://api.telegram.org/bot249879980:AAHNdWnXjCqSFw17Ns81xXTtjA3xs19Sc6w/setWebhook?url=https://parsiandata.net/bot_test.php

اگر دستور فوق را در مرورگر خود وارد کنیم با پیغامی مانند زیر دریافت می‌کنیم:

{“ok”:true,”result”:true,”description”:”Webhook was set”}

پیغام فوق یک آرایه JSON است که بیان می‌کند webhook با موفقیت ثبت شده است. وقتی عملیات webhook با موفقیت انجام شود سرور تلگرام تمامی درخواست‌های کاربران را به url‌ای که برای تلگرام اعلام کردیم ارسال می‌کند.
برای حذف کردن این webhook پارامتر [URL] را حذف کرده و در خواست را دوباره با مرورگر ارسال می‌کنیم:

https://api.telegram.org/bot249879980:AAHNdWnXjCqSFw17Ns81xXTtjA3xs19Sc6w/setWebhook

الگوی پایین برای دریافت آخرین ارسال‌ها با کمک متد getUpdates است:

https://api.telegram.org/bot[TOKEN]/getupdates

مثال استفاده از این متد:

https://api.telegram.org/bot249879980:AAHNdWnXjCqSFw17Ns81xXTtjA3xs19Sc6w/getupdates

اگر این آدرس را درخواست دهیم، چیزی مشابه نتیجه زیر به نمایش در می‌آید:

{“ok”:true,”result”:[{“update_id”:818742452,
“message”:{“message_id”:19,”from”:{“id”:156173107,”first_name”:”\u0630\u06cc\u065f \u0645\u0147\u062f\u04cc”,”username”:”parsian”},”chat”:{“id”:156173107,”first_name”:”\u0633\u06cc\u062f \u0645\u0647\u062f\u06cc”,”username”:”parsian”,”type”:”private”},”date”:1471866230,”text”:”\/aboutus”,”entities”:[{“type”:”bot_command”,”offset”:0,”length”:8}]}}]}

در بالا یک آرایه json از کل پیغام‌ها دریافت کردیم.

در قسمت چهارم : برای هریک از متد های بالا مثال های کاربردی ذکر خواهد شد.

 

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



پرسش و پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *