م
1 سال پیش توسط م مطرح شد
1 پاسخ

setWebHook برای ر بات تلگرام

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

$content = file_get_contents("php://input");

استفاده میکنن ولی هیچ چیزی برای من برنمیگردونه
اگر شما روشی با curl بلدین که جایگزین این خط کنم که دقیقا همین کار رو بکنه یا پراکسی بر سر راه وب هوک میدونید ممنون میشم که کمک کنید


ثبت پرسش جدید
مهدی نظری
تخصص : توسعه دهنده Front End
@mahdi.nazari 1 سال پیش مطرح شد
0

سلام 🖐
امیدوارم حالت خوب و عالی باشی🙏

بنظرم تنها راه حلی که میتونه بهت کمک کنه اینطوریه که
می‌توانید از کتابخانه cURL در PHP برای ارسال درخواست به وب هوک خود از طریق پروکسی استفاده کنی
یه نمونه از اینکه با cURL، درخواست POST را به وب هوک ارسال می‌کنی و اطلاعات ارسالی را دریافت می‌کنی رو برات میزارم شاید بهت کمک کرد

<?php
// آدرس وب‌هوک شما
$webhookUrl = "https://example.com/your-webhook-endpoint";

// اطلاعاتی که می‌خواهید به وب‌هوک ارسال کنید
$data = array(
    "param1" => "value1",
    "param2" => "value2"
);

// تنظیمات پروکسی
$proxyUrl = "http://your-proxy-url:port"; // آدرس پروکسی
$proxyAuth = "username:password"; // اگر نیاز است

// ایجاد یک نمونه از cURL
$ch = curl_init();

// تنظیمات cURL
curl_setopt($ch, CURLOPT_URL, $webhookUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// تنظیم پروکسی
curl_setopt($ch, CURLOPT_PROXY, $proxyUrl);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyAuth);

// اجرای درخواست و دریافت پاسخ
$response = curl_exec($ch);

// بررسی خطا
if(curl_errno($ch)) {
    echo 'خطا در اجرای cURL: ' . curl_error($ch);
}

// بستن اتصال cURL
curl_close($ch);

// پردازش پاسخ
if ($response) {
    echo "پاسخ وب‌هوک: " . $response;
} else {
    echo "خطا در دریافت پاسخ وب‌هوک";
}
?>

فقط حواست باشه که مقادیر $webhookUrl، $proxyUrl و $proxyAuth را با اطلاعات واقعی خود جایگزین کنی . همچنین، دیتاهایی که می‌خواهید به وب‌هوک ارسال کنید را در آرایه $data قرار دهید و کلا تنها راه حلی بوده که بهم کمک کرده بقیشو باید یطوری خودت هندل کنی

امیدوارم پاسخم بهت کمک کرده باشه ❤️
موفق و پیروز باشی 🤘🌹


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

ورود یا ثبت‌نام