سلام
بفرمایید کاربرد تلگرام اینجا چطوریه؟ مثلا میخواید یک ربات داشه باشید که فقط به کاربر مخاطب سرویس بده یا اینکه قرار یک گروه یا کانال رو مدیریت کنه یا اینکه برای گروه ها یا کانال های بیشتری باید سرویس بده؟ جزییات سرویس رو مشخص کنید تا بر اساس اون استراتژی چیده بشه.
@hekmati قراره که کاربر درخواست بفرسته و بعد پاسخ اون رو دریافت کنه فقط همین الان من روت رو به صورت گت تعریف کردم و کد های ربات رو داخل کنترلر قرار دادم اینجوری مشکلی نداره ؟ میخام با وبهوک مشکلی نداشته باشه
ببینید تلگرام بات در روش وب هوک هم از متد get پشتیبانی میکنه هم از روش post بر اساس نیاز خودتون می تونید استفاده کنید.
اینجا بخش Making requests رو مطالعه کنید.
@hekmati اقای حکمتی من روت رو براش به صورت گت تعریف کردم و وبهوک رو هم روی اون روت ست کردم ولی هرکاری میکنم پاسخی به پیام ها نمیده ! تنظیمات دیگه ای هم داره ؟ و چجوری میتونم عیب یابیش کنم ؟
@hekmati من جایی مطالعه کردم که وب هوک به صورت post درخواست رو میفرسته به ادرسی که بهش میدیم درسته ؟
این کد ها هستش که متد دریافت کننده telegram هستش البته این کدها ازمایشی هست و هنوز به خاطر حل نشدن این مشکل فرصت به تست کد های اصلی نرسیده !
public function sentotelegram($method, $parameters=[], $headers = array("Content-Type: application/json"))
{
$handle = curl_init("https://api.telegram.org/bot**********-lE/$method");
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, json_encode($parameters));
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($handle);
echo $result;
}
public function telegram()
{
//دریافت اطلاعات پیام ارسالی
$content = file_get_contents("php://input");
$content = json_decode($content, true);
//agar yek payam ersal shode bashad
if(isset($content['message'])) {
$message = $content['message'];
//agar payam ersali, matni bashad
if(isset($message['text'])){
if($message['text'] == '/start') {
//chat_id marbut be ferestendeye payam
$chat_id = $message['from']['id'];
$first_name = $message['from']['first_name'];
$parameters = [
'chat_id' => $chat_id,
'text' => 'کاربر عزیز '. $first_name .'، خوش آمدید'
];
$this->sendToTelegram('sendMessage', $parameters);
}
}
}
}
@hekmati فایل log رو دیدم به تلگرام ارور 405 رو میده که به دلیل همون get بودن روت هست و باید post باشه ولی الان که post کردم ارور 419 رو میده که مربوط به csrf توکن هستش این رو چجوری حل کنم ؟
@hekmati ارور 419 رو برطرف کردم اما الان ارو 500 میده 😂😂😂 ماشالا تمام ارور های لاراول داره براما اجرا میشه
ببینید از ابتدا مرور کنید
اول چک کنید ببینم ارتباط شما با ربات برقرار هست یا خیر
توی لینک زیر دو مقدار توکن بات و چت آی دی خودتون رو قرار بدید و توی مرورگر اجرا کنید ببینم چه پیامی دریافت میکنید.
https://api.telegram.org/botYourTokenBot/sendMessage?chat_id=YourChatId&text=hello
بله تست کردم با کرل پیام رو هم فرستادم از سرور مشکلی نداشت فقط با وب هوک مشکل داره @hekmati
@hekmati این رو داخل فایل ارور لاگ مینویسه :
91.108.6.150 - - [03/Oct/2021:11:25:12 +0000] "POST /telegram HTTP/1.1" 500 202076 "-" "-"
@hekmati یه چیز عجیب دیگه اینکه وقتی از روت ها دیگه سایتم با متد پست میرم به روت تلگرام ارور نمیده و فقط برای وب هوک این ارور هست انگار !
کدی که در قسمت بالا نوشته بودم یک متد داشت به نام sentotelegramکه به اشتباه حرف d رو نزاشته بودم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟