راهنمای عملی برای ساخت ربات تلگرام با استفاده از Slim در PHP

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

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

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

راه‌اندازی محیط توسعه

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

پی‌اچ‌پی (PHP) و کامپوزر (Composer) را که یک مدیر دیپندنسی برای پی‌اچ‌پی است، نصب کنید. شما می‌توانید راهنمای نصب آن را در وب‌سایت کامپوزر پیدا کنید.

یک پوشه پروژه جدید برای ربات خود بسازید و با استفاده از ترمینال به آن بروید. با اجرای دستور زیر در ترمینال خود، یک پروژه کامپوزر جدید را ایجاد کنید:

composer init

برای نصب فریمورک اسلیم (Slim) دستور زیر را اجرا کنید:

composer require slim/slim slim/psr7

ساخت ربات تلگرام

برای ساخت ربات تلگرام با استفاده از بات‌فادر (BotFather)، مراحل زیر را دنبال کنید:

اپلیکیشن تلگرام را باز کنید و با تایپ @Botfather در نوار جستجو، به دنبال بات‌فادر بگردید.

با کلیک بر روی دکمه "Start"، چت با بات‌فادر را شروع کرده و دستور /newbot را برای او ارسال کنید.

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

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

راه اندازی برنامه اسلیم

برای راه اندازی یک برنامه اسلیم پایه در دایرکتوری پروژه خود، مراحل زیر را دنبال کنید:

یک فایل جدید با نام index.php در دایرکتوری پروژه خود بسازید. کد زیر را در index.php کپی کرده و الصاق کنید:

<?php

use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;

require __DIR__ . '/vendor/autoload.php';

$app = AppFactory::create();

$app->get('/', function (Request $request, Response $response) {
    $response->getBody()->write("Hello, World!");

    return $response;
});

$app->run();

این کد یک برنامه اسلیم پایه با یک مسیر تنظیم می کند که در صورت رفتن به URL ریشه، پیام "Hello, World!" را برمی گرداند.

با اجرای دستور زیر در ترمینال، وب سرور خود را راه اندازی کنید:

php -S localhost:8000

به مرورگر خود بازگردید و آدرس localhost:8000 را وارد کنید تا اطمینان حاصل کنید که برنامه شما به درستی کار می‌کند.

ربات تلگرام خود به برنامه اسلیم متصل کنید

برای اتصال ربات تلگرام خود به برنامه اسلیم، به مراحل زیر عمل کنید:

ابتدا، بسته irazasyed/telegram-bot-sdk را با استفاده از دستور زیر نصب کنید:

composer require irazasyed/telegram-bot-sdk

کد زیر را در داخل فایل index.php خود به روز کنید:

$app->get('/', function (Request $request, Response $response) {
    $telegram = new Telegram\Bot\Api("TELEGRAM_BOT_TOKEN");

    if ($telegram->setWebhook(["url" => "TELEGRAM_WEBHOOK_URL"])) {
        $message = "Webhook updated successfully!";
    } else {
        $message = "It seems something went wrong!";
    }

    $response->getBody()->write($message);

    return $response;
});

این کد، رابط برنامه‌نویسی بات تلگرام را با توکن API شما مقداردهی اولیه می‌کند و از آن برای تنظیم URL وب‌هوک برای ربات شما استفاده می‌کند.

برای شروع سرور وب، دستور زیر را در ترمینال خود وارد کنید:

php -S localhost:8000

پردازش ورودی کاربر

برای پردازش ورودی کاربر، باید مسیر در فایل index.php خود را تغییر دهید تا پیام‌های ورودی را پردازش کند. به عنوان مثال:

$app->post('/hook', function (Request $request, Response $response) {
    $telegram = new Telegram\Bot\Api("TELEGRAM_BOT_TOKEN");

    $input = json_decode($request->getBody(), true);

    $chat_id = $input['message']['chat']['id'];
    $text = $input['message']['text'];

    $telegram->sendMessage([
        'chat_id' => $chat_id,
        'text' => 'You said: ' . $text,
    ]);

    return $response->withStatus(200);
});

این کد مسیر ریشه را برای دریافت درخواست‌های POST تغییر می‌دهد، شناسه چت و متن پیام را از بدنه درخواست استخراج کرده، یک پیام را با استفاده از رابط برنامه نویسی اپلیکیشن تلگرام به کاربر ارسال می‌کند و یک کد وضعیت 200 را برمی‌گرداند تا نشان دهد عملیات با موفقیت انجام شده است.

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

ربات‌های تلگرام ابزاری قدرتمند هستند که می‌توانند برای موارد مختلفی مانند اتوماسیون خدمات مشتری، ارسال خبر و محتوا و غیره استفاده شوند. با دانشی که در این راهنما به دست آورده‌اید، شما هم اکنون قادرید تا ربات‌های خود را ایجاد کرده و امکانات این فناوری هیجان انگیز را بررسی کنید. موفق باشید و روز خوشی را در ساخت ربات‌های خود بگذرانید!