ربات اینستاگرامی

کدنویسی ربات اینستاگرامی تعامل با کاربران

اگر بخوای از طریق ربات تلگرام PHP این کار رو انجام بدی، باید به این صورت عمل کنی:

مراحل کلی:

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

۲. ارسال پیام صوتی در تلگرام با PHP

حالا فرض کنیم که کامنت رو گرفتیم و قراره یه ویس به تلگرام بفرستیم.

کد ارسال ویس در تلگرام با PHP

<?php
$botToken = "YOUR_BOT_TOKEN"; // توکن ربات تلگرام
$chatId = "USER_CHAT_ID"; // آیدی چت کاربر

// مسیر فایل صوتی روی سرور
$voiceFile = new CURLFile("voice.ogg");

// ارسال پیام صوتی
$url = "https://api.telegram.org/bot$botToken/sendVoice";
$data = [
    "chat_id" => $chatId,
    "voice" => $voiceFile,
    "caption" => "این پیام صوتی برای شما ارسال شد!"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
curl_close($ch);

echo $result;
?>

نکات مهم در این کد:

  • باید یک فایل صوتی با فرمت OGG داشته باشی که ربات بتونه ارسال کنه.
  • اگه می‌خوای فایل صوتی داینامیک باشه، می‌تونی با ffmpeg یا هر سرویس TTS (تبدیل متن به صدا) یک ویس بسازی و بعد بفرستی.

۳. اتصال اینستاگرام به PHP (روش پیشنهادی)

حالا که ارسال ویس در تلگرام رو حل کردیم، چطور بفهمیم که عددی در اینستاگرام کامنت شده؟

  • می‌تونی یه اسکریپت پایتون بنویسی که هر چند دقیقه کامنت‌ها رو بررسی کنه.
  • وقتی کامنت جدید شامل عدد موردنظر پیدا شد، اون رو به سرور PHP ارسال کنه.

دریافت داده در PHP و ارسال ویس

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST["username"];
    $comment = $_POST["comment"];

    if ($comment == "7") {
        $chatId = "@your_channel_or_user"; // آیدی تلگرام
        include("send_voice.php"); // این فایل همون کد ارسال ویس هست
    }
}
?>

ساخت ربات با PHP و استفاده از Webhook اینستاگرام + تلگرام

بدون نیاز به اشتراک پولی
کنترل کامل روی داده‌ها
قابل اجرا روی هاست شخصی

۱. دریافت کامنت‌های اینستاگرام (API رایگان)

متا یک Webhook API برای اینستاگرام داره که وقتی کسی کامنتی گذاشت، یه درخواست به سرور شما می‌فرسته. این روش کاملاً رایگان و رسمی هست.

مراحل فعال‌سازی Webhook اینستاگرام:

۱. به Meta Developers برو و یه App جدید بساز.
۲. قسمت Instagram Graph API رو فعال کن.
3. در قسمت Webhooks، یک آدرس به سرور PHP خودت بده.
4. تنظیم کن که وقتی کامنتی ثبت شد، اینستاگرام اطلاعات رو به اون آدرس بفرسته.

۲. دریافت کامنت در PHP

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

<?php
// دریافت داده‌ها از اینستاگرام
$update = json_decode(file_get_contents("php://input"), true);

// چک کنیم که این یک کامنت جدید هست
if (isset($update['entry'][0]['changes'][0]['value']['text'])) {
    $commentText = $update['entry'][0]['changes'][0]['value']['text'];
    $username = $update['entry'][0]['changes'][0]['value']['from']['username'];

    // اگر عدد خاصی (مثلاً "7") کامنت شده بود
    if ($commentText == "7") {
        file_get_contents("https://api.telegram.org/botYOUR_BOT_TOKEN/sendMessage?chat_id=@YOUR_CHANNEL&text=کاربر @$username عدد ۷ را کامنت کرد!");
        
        // ارسال ویس
        $voiceFile = new CURLFile("voice.ogg");
        $telegramApiUrl = "https://api.telegram.org/botYOUR_BOT_TOKEN/sendVoice";
        $data = [
            "chat_id" => "@YOUR_CHANNEL",
            "voice" => $voiceFile,
            "caption" => "این ویس مخصوص شماست!"
        ];

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $telegramApiUrl);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_exec($ch);
        curl_close($ch);
    }
}
?>

۳. ثبت Webhook در اینستاگرام

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

curl -X POST "https://graph.facebook.com/v17.0/YOUR_APP_ID/subscriptions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{
  "object": "instagram",
  "callback_url": "https://yourserver.com/instagram_webhook.php",
  "fields": ["comments"],
  "verify_token": "YOUR_VERIFY_TOKEN"
}'

۴. نتیجه نهایی

🎯 کاربر عدد “۷” رو کامنت می‌کنه
🎯 اینستاگرام داده‌ها رو به سرور PHP می‌فرسته
🎯 PHP داده رو پردازش می‌کنه و ویس می‌فرسته

💡 مزایا:
رایگان و بدون محدودیت
نیاز به ابزار پولی نداره
کاملاً اتوماتیک و سریع