وب آکادمی

مرجع آموزش طراحی و برنامه نویسی وب

جلسه هفتم- استفاده از سیستم بات ساز برای ارتباط با ربات

دسته بندی:برنامه نویسی ربات تلگرام با php تاریخ انتشار: 20 مهر 1397 برچسب ها : برچسب‌ها:, , , , ,

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

در جلسات قبل استفاده از وب هوک (web hook) برای مدیریت ربات تلگرام را آموزش دادیم. همچنین گفتیم برای استفاده از وب هوک باید برنامه ما روی هاست با گواهینامه SSL قرار داشته باشد تا بتواند برای ارتباط با سرور تلگرام استفاده شود. از طرفی خرید مجوز SSL برای سایت آن هم برای تست برنامه ربات مقرون به صرفه نیست پس راه حل  کدام است؟

ثبت ربات در سیستم بات ساز

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

عضویت در سایت بات ساز

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

فرم ثبت نام در سایت بات ساز

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

ثبت مشخصات ربات تلگرامی در بات ساز

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

تعریف آدرس api برای ربات

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

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

برای تعیین یک برنامه php بعنوان api برای ربات، با انتخاب ربات و رفتن به بخش دستورات ربات می توان با کلیک روی دکمه سبز رنگ “دستور API جدید” ، نام دستور و آدرس url برای api را وارد کرد.

تعریف api برای ربات تلگرام

این تنظیمات تعیین کرده است که هر وقت دستور date برای ربات اجرا شد، برنامه bot1301.php از سایت webaca.ir اجرا شده و اطلاعات برای آن فرستاده شود. همچنین در شکل فوق دیده می شود : بات ساز یک توکن جدید برای ربات ما تعیین کرده است که در برنامه ها باید از آن استفاده شود.

برنامه نویسی webhook با استفاده از بات ساز

بعد از ثبت ربات در سایت بات ساز و تعیین api برای آن، می رسیم به برنامه نویسی فایل api ، یک فایل با نام bot1301.php ایجاد کرده و کدنویسی کرده و آنرا روی هاست webaca.ir قرار می دهیم،

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

ما در این آموزش یک ربات ساده می سازیم که اگر در صفحه چت دستور date اجرا شد، ربات تاریخ جاری را نمایش دهد . پس محتوای فایل bot1301.php بصورت زیر خواهد بود


<?php
function sendMessage($datas){
$url = "https://panel.botsaz.com/api/bot/sendMessage";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
$datas["api_key"]=API_KEY;
curl_setopt($ch, CURLOPT_POSTFIELDS,
http_build_query($datas));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);
return json_decode($server_output);
}
ob_start();
$content= file_get_contents("php://input");
$update = json_decode($content);
define("API_KEY" , "584bbd612a4499f7d707b50e053b5664");
$text_reply = "date:".date("Y-m-d");
sendMessage([
"text"=>$text_reply,
"chat_id"=>$update->message->chat->id,
"reply_to_message_id"=>$update->message->message_id
]);
?>

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

 بات ساز بعنوان واسط بین سرور تلگرام و سایت ما عمل میکند. پیام از صفحه چت به سرور تلگرام فرستاده می شود، سرور تلگرام آنرا به سرور بات ساز می فرستد و سرور بات ساز انرا به سرور webaca.ir فرستاده و تحویل برنامه bot1301.php می شود. برنامه پردازش لازم را انجام داده و نتیجه را به سرور بات ساز و ازانجا به سرور تلگرام و از آنجا به صفحه چت فرستاده می شود.

 

در جلسه بعد دو برنامه api برای ربات می نویسیم …

دیدگاهتان را بنویسید

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

4 − چهار =