
در این مقاله نحوه ساخت ساده ترین ربات وب هوک تلگرام با زبان برنامه نویسی PHP را به شما آموزش می دهیم. آموزش گام به گام به زبان ساده و بیان تمامی توصیه های کاربردی مورد نیاز شما کاربران گرامی.
الزامات:
برای ایجاد این ربات به php نسخه 7.2+، افزونه cUrl، دامنه با گواهی SSL نیاز دارید. برای این کار، می توانید از گواهی رایگان در سایت Let’s Encrypt به آدرس https://letsencrypt.org/getting-started استفاده کنید.
مرحله 1 – فرمول بندی مسئله
ما یک ربات ساده می سازیم که داده های کاربر را با چت با آنها دریافت و ذخیره می کند و سپس آن داده ها را به کاربر برمی گرداند. این امر پس از انجام مراحل زیر رخ می دهد:
/شروع: با فشردن گزینه start، ربات “Hello” می گوید و عملکرد آن را شرح می دهد.
/صرفه جویی: نام و نام خانوادگی کاربر را ذخیره می کند.
/من: داده های کاربر را تنها در صورتی برمی گرداند که ذخیره شده باشند. در غیر این صورت پیغام می دهد که کاربر را نمی شناسد.
قصد ما تعامل با ربات از طریق فیلد ورودی است. این ویژگی “حالت تعبیه شده” نامیده می شود. یعنی تعامل از طریق اعلان های داخلی از قسمت ورودی متن در همه چت ها انجام می شود. تلگرام برای ربات ها امکانات مختلفی از جمله حالت داخلی، پلتفرم پرداخت، پلتفرم بازی، کیبورد، دستورات و غیره را فراهم می کند.
10 تا از بهترین زبان های برنامه نویسی برای طراحی وب و طراحی سایت
پیاده سازی ربات ما با استفاده از کتابخانه ربات تلگرام ساده انجام می شود. در زیر خودتان خواهید دید که چگونه این کار را در مراحل آسان انجام می دهیم.
مرحله 2 – تئوری سازی
ربات تلگرام یک حساب کاربری ویژه بدون شماره تلفن است. کاربران می توانند از دو طریق با این ربات ارتباط برقرار کنند:
- وارد صفحه چت با ربات شوید و برای آن پیام ارسال کنید یا از گزینه های مختلف دستور استفاده کنید.
- در گروه ها، نام ربات را به عنوان نام ربات @ ذکر کنید تا ربات به گروه اضافه شود.
ما از یک رابط ساده HTTPS برای ارتباط با سرورهای API تلگرام استفاده می کنیم. این رابط از HTTP GET و POST پشتیبانی می کند. پاسخ شامل یک شی JSON است که همیشه دارای یک فیلد Boolean با گزینه “ok” است و همچنین ممکن است یک فیلد رشته اختیاری “description” با توضیحات قابل خواندن توسط انسان از نتیجه داشته باشد.
برای ساخت تمامی ربات ها در تلگرام باید به ربات BotFather مراجعه کنید. اکنون باید به روز رسانی ربات را از طریق یکی از دو روش زیر دریافت کنیم:
- /getUpdate به روز رسانی ها را دقیقا در زمانی که فراخوانی می شود برمی گرداند.
- وب هوک هر درخواستی را از ربات به برنامه ما ارسال می کند.
GetUpdate ساده زمانی مفید است که شما نیاز دارید پس از انجام اقدامات لازم برای یک کاربر یا گروه اعلان ارسال کنید.
دانلود به همراه این مقاله: آموزش طراحی سایت از صفر تا صد (16 درس رایگان)
هنگام ساخت رباتی که فقط اعلان ارسال نمی کند، باید از webhooks استفاده کنید. با انجام این کار، یک ربات ایجاد می کنید که به محض اینکه کاربر چیزی را در ربات تایپ کرد، با او ارتباط برقرار می کند.
[2-1] کاربر دستور را به ربات ما ارسال می کند.
[3-2] اپلیکیشن تلگرام درخواست را به API ارسال می کند.
[4-3] دو راه برای برقراری ارتباط بین برنامه و API تلگرام وجود دارد:
[مورد الف]: استفاده از getUpdate : با این روش، ما نمیتوانیم بلافاصله پس از ارسال فرمان به کاربر پاسخ دهیم، بنابراین تنها در صورتی میتوانیم بهروزرسانیها را دریافت کنیم که در سمت برنامه عملی انجام دهیم.
[مورد ب]: استفاده از وب هوک: با استفاده از این روش می توانیم به صورت بلادرنگ با کاربر ارتباط برقرار کنیم و هر نوع به روز رسانی ربات برای ما درخواست ارسال می کند.
مرحله 3- ساخت ربات
حالا ما آماده ساختن یک ربات هستیم! برای ایجاد ربات مراحل زیر را دنبال کنید:
1- به BotFather بروید و توکن ربات خود را دریافت کنید. به یاد داشته باشید که نباید این علامت را به کسی بدهید.
2- همانطور که قبلا گفتیم، ما فقط می توانیم از رابط HTTS برای کار با API تلگرام استفاده کنیم، بنابراین در برنامه خود به cUrl نیاز داریم. با این درخواست ساده مرورگر می توانید cUrl را آزمایش کنید. فقط آدرس زیر را در مرورگر خود قرار دهید:
https://api.telegram.org/bot
3- حالا باید یک سرویس اتصال ایجاد کنیم، همیشه از یک اتصال cUrl استفاده می کنیم. مثلا:
define(‘BASIC_API_URL’, ‘https://api.telegram.org/bot
/’); عملکرد عمومی make(string $action): آرایه
{
$curlInit = curl_init();
curl_setopt($curlInit، CURLOPT_URL، BASIC_API_URL. $action);
$curl_setopt($ch، CURLOPT_RETURNTRANSFER، 1);
$output = curl_exec($ch);
curl_close ($curlInit); بازگشت json_decode($output، true);
}
در اینجا ما از CurlConnectionService استفاده می کنیم که رابط ConnectionService را پیاده سازی می کند.
4- برای هر اقدام به یک رمز عبور مخفی نیاز دارید که در URL استفاده شده است. /getMe را لایک کنید. بنابراین بیایید فرض کنیم قبلاً یک مسیر با استفاده از CURL ایجاد کرده ایم که URL درخواست را می پذیرد. این عملیات ساده به صورت زیر خواهد بود:
$aboutMe = (New ConnectionService())->make(‘getMe’);
و بله، خروجی aboutMe$ با فرمت json خواهد بود:
{
«خوب»: درست است،
“نتیجه”: {
“شناسه”:،
“is_bot”: درست است،
“first_name”: “bot_name”,
“username”: “bot_username”
}
}
خب حالا چه باید کرد؟ اکنون باید یک وب هوک راه اندازی کنیم و برای آن به یک میزبان با URL HTTPS نیاز داریم. ما به یک مسیر یا نام فایل (.php.) منحصر به فرد در URL ذکر شده نیاز داریم. این مسیر یا فایل به عنوان کنترل کننده CORE برای ربات ما کار می کند. به خاطر داشته باشید که این مسیر یا نام باید به دلایل امنیتی پنهان شود.
بخوانید: آموزش HTML CSS (پروژه گرا)
با وارد کردن جستجو در مرورگر به راحتی می توانید یک وب هوک را شروع کنید.
https://api.telegram.org/bot
5- از این پس می توانیم بدون بارگذاری مجدد صفحات، آپدیت ها را از ربات دریافت کنیم. بیایید آن را انجام دهیم:
// دریافت تمام داده ها از POST requestfile_get_contents ورودی (“php://input”);/*
* به روز رسانی را به عنوان یک آرایه انجمنی مدیریت کنید
* (یا می توانید از شی برای این کار استفاده کنید)
*/ $update = json_decode ($update، true)؛
هدف ما پاسخگویی به دستورات کاربر است. بنابراین، ما باید داده های پیام را با زیرپارامترهای “chat” و “text” تحت پارامتر مورد نیاز خود دریافت کنیم:
سوئیچ ($update[‘text’]) {
مورد ‘/شروع’:
// برخی از اقدامات
خروجی
}
خوب، اکنون به دستور /start کاربر واکنش نشان می دهیم. بهش پیام بدیم:
/*
* اگر کاربر دستور start / را ارسال کند
* ما به سلام پاسخ می دهیم!
*/ $connectionService->make(
‘پیام فرستادن؟ chat_id=’. به روز رسانی $[‘chat’][‘id’] . ‘&text=سلام!’
)
سپس می توانید این کار را روی ربات خود آزمایش کنید. فقط پیام شروع را برای آن ارسال کنید.
6- حالا می توانیم دستورات را همانطور که می خواهیم دریافت کنیم. در مرحله بعد، ما باید یک سرویس ذخیره سازی داده ایجاد کنیم، که به راحتی می توانید خودتان این کار را انجام دهید.
مرحله 4- ربات آماده است!
تبریک می گویم! ما موفق شدیم یک ربات تلگرام به زبان PHP بسازیم که می تواند نام و نام خانوادگی کاربر را از طریق چت آنها ذخیره کند. آیا دیده اید که ساخت ربات تلگرام چقدر آسان است؟
با تشکر از همکاری شما. شانس.
علاوه بر این مقاله حتما دانلود کنید: آموزش برنامه نویسی PHP از صفر تا صد (فیلم + PDF)
آموزش تصویری ساخت ربات تلگرام با استفاده از PHP
دانلود را از دست ندهید: چگونه با یک مثال ساده یک وب سایت با PHP ایجاد کنیم