آموزش راهاندازی ربات تلگرام با سورس PHP
در این مقاله به طور کامل به آموزش راهاندازی ربات تلگرام با استفاده از زبان برنامهنویسی PHP و دریافت توکن و ساخت منو میپردازیم.
1. ایجاد ربات تلگرام
برای شروع، ابتدا باید ربات تلگرام خود را ایجاد کنید. برای این کار به BotFather در تلگرام مراجعه کنید و دستورات زیر را وارد کنید:
/newbot
سپس نام ربات خود را وارد کنید و یک نام کاربری منحصربهفرد برای ربات انتخاب کنید که باید با پسوند “bot” تمام شود. پس از انجام این مراحل، توکن ربات به شما داده میشود که باید آن را در جای امنی نگه دارید.
2. نوشتن کد ربات با PHP
حال زمان آن رسیده است که کد ربات را با استفاده از PHP بنویسیم. برای این کار به یک فایل PHP جدید نیاز داریم. در این فایل، ابتدا توکن ربات را وارد میکنیم:
$token = "YOUR_BOT_TOKEN";
سپس یک تابع برای دریافت آپدیتهای ربات مینویسیم:
function getUpdates($offset = null) {
global $token;
$url = "https://api.telegram.org/bot$token/getUpdates";
if ($offset !== null) {
$url .= "?offset=" . $offset;
}
$response = file_get_contents($url);
return json_decode($response, true);
}
این تابع از API تلگرام برای دریافت آپدیتهای ربات استفاده میکند. حال یک حلقه برای پردازش آپدیتها مینویسیم:
$offset = null;
while (true) {
$updates = getUpdates($offset);
foreach ($updates["result"] as $update) {
if ($update["message"]["text"] == "/start") {
sendMessage($update["message"]["chat"]["id"], "Hello!");
}
}
if (isset($updates["result"])) {
$offset = end($updates["result"])["update_id"] + 1;
}
}
این حلقه همیشه در حال اجرا است و به دنبال آپدیتهای جدید میگردد. هنگامی که کاربر دستور /start را ارسال میکند، ربات پاسخ “Hello!” را ارسال میکند. در نهایت، تابعی برای ارسال پیام به کاربر مینویسیم:
function sendMessage($chat_id, $text) {
global $token;
$url = "https://api.telegram.org/bot$token/sendMessage";
$data = array(
"chat_id" => $chat_id,
"text" => $text
);
$options = array(
"http" => array(
"header" => "Content-Type: application/x-www-form-urlencoded",
"method" => "POST",
"content" => http_build_query($data)
)
);
$context = stream_context_create($options);
file_get_contents($url, false, $context);
}
این تابع از API تلگرام برای ارسال پیام به کاربر استفاده میکند.
3. ساخت منو
برای ساخت منو در ربات تلگرام، میتوانید از دکمههای سفارشی استفاده کنید. برای این کار، تابع sendMessage را به صورت زیر تغییر میدهیم:
function sendMessage($chat_id, $text, $keyboard = null) {
global $token;
$url = "https://api.telegram.org/bot$token/sendMessage";
$data = array(
"chat_id" => $chat_id,
"text" => $text,
"reply_markup" => json_encode($keyboard)
);
$options = array(
"http" => array(
"header" => "Content-Type: application/x-www-form-urlencoded",
"method" => "POST",
"content" => http_build_query($data)
)
);
$context = stream_context_create($options);
file_get_contents($url, false, $context);
}
در این تابع، پارامتر $keyboard به عنوان آرایهای از دکمهها به تابع ارسال میشود. برای ساخت منو، میتوانید از کد زیر استفاده کنید:
$keyboard = array(
"keyboard" => array(
array("Option 1", "Option 2"),
array("Option 3")
),
"resize_keyboard" => true,
"one_time_keyboard" => false
);
sendMessage($chat_id, “Please select an option:”, $keyboard);این کد یک منوی ساده با سه گزینه ایجاد میکند که کاربر میتواند از بین آنها انتخاب کند. با استفاده از این آموزش، میتوانید ربات تلگرام خود را با PHP راهاندازی کنید و منوی دلخواه خود را ایجاد کنید. البته این یک مثال ساده است و میتوانید آن را با توجه به نیازهای خود گسترش دهید.