amir
3 سال پیش توسط amir مطرح شد
21 پاسخ

تعریف روت ربات تلگرلم

سلام دوستان برای اینکه بتونم در پروژه لاراولی روتی رو برای تلگرام تعریف کنم باید ویژگی خاصی براش بزنم یا بهمون روش همیشگی میشه یک روت تعریف کرد و بعد به کنترلر وصلش کرد ؟


ثبت پرسش جدید
حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش مطرح شد
0

سلام
بفرمایید کاربرد تلگرام اینجا چطوریه؟ مثلا میخواید یک ربات داشه باشید که فقط به کاربر مخاطب سرویس بده یا اینکه قرار یک گروه یا کانال رو مدیریت کنه یا اینکه برای گروه ها یا کانال های بیشتری باید سرویس بده؟ جزییات سرویس رو مشخص کنید تا بر اساس اون استراتژی چیده بشه.


amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش آپدیت شد
0

@hekmati قراره که کاربر درخواست بفرسته و بعد پاسخ اون رو دریافت کنه فقط همین الان من روت رو به صورت گت تعریف کردم و کد های ربات رو داخل کنترلر قرار دادم اینجوری مشکلی نداره ؟ میخام با وبهوک مشکلی نداشته باشه


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش مطرح شد
0

ببینید تلگرام بات در روش وب هوک هم از متد get پشتیبانی میکنه هم از روش post بر اساس نیاز خودتون می تونید استفاده کنید.
اینجا بخش Making requests رو مطالعه کنید.


amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش مطرح شد
0

@hekmati اقای حکمتی من روت رو براش به صورت گت تعریف کردم و وبهوک رو هم روی اون روت ست کردم ولی هرکاری میکنم پاسخی به پیام ها نمیده ! تنظیمات دیگه ای هم داره ؟ و چجوری میتونم عیب یابیش کنم ؟


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش مطرح شد
0

دامنه ای که معرفی کردید ssl داره؟
برای درک بهتر کد رو بفرستید.


amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش مطرح شد
0

@hekmati من جایی مطالعه کردم که وب هوک به صورت post درخواست رو میفرسته به ادرسی که بهش میدیم درسته ؟


amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش آپدیت شد
0

این کد ها هستش که متد دریافت کننده 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);
                        }
                    }
                }
    }

amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش مطرح شد
0

@hekmati فایل log رو دیدم به تلگرام ارور 405 رو میده که به دلیل همون get بودن روت هست و باید post باشه ولی الان که post کردم ارور 419 رو میده که مربوط به csrf توکن هستش این رو چجوری حل کنم ؟


amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش مطرح شد
0

@hekmati ارور 419 رو برطرف کردم اما الان ارو 500 میده 😂😂😂 ماشالا تمام ارور های لاراول داره براما اجرا میشه


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش مطرح شد
0

بله در خواست های post هم پشتیبانی میشه


amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش آپدیت شد
0

@hekmati شما روشی برای حل ارور 500 نمیدونین ؟ فقط برای روت تلگرام اینو میده


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش مطرح شد
0

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

https://api.telegram.org/botYourTokenBot/sendMessage?chat_id=YourChatId&text=hello

amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش مطرح شد
0

بله تست کردم با کرل پیام رو هم فرستادم از سرور مشکلی نداشت فقط با وب هوک مشکل داره @hekmati


amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش مطرح شد
0

@hekmati این رو داخل فایل ارور لاگ مینویسه :

91.108.6.150 - - [03/Oct/2021:11:25:12 +0000] "POST /telegram HTTP/1.1" 500 202076 "-" "-"

حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش مطرح شد
0

نتیجه ای که توی وب هوک بر میگردونه رو بفرستید


amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش مطرح شد
0

@hekmati اصلا نتیجه ای برام نمیفرسته


amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش مطرح شد
0

@hekmati یه چیز عجیب دیگه اینکه وقتی از روت ها دیگه سایتم با متد پست میرم به روت تلگرام ارور نمیده و فقط برای وب هوک این ارور هست انگار !


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش مطرح شد
0

توکن بات و چت آی دی خودتون رو برام بفرستید تا چک کنم


amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش مطرح شد
0

تشکر درست شد!


amir
تخصص : بک اند و فرانت اند
@behzadi 3 سال پیش مطرح شد
0

کدی که در قسمت بالا نوشته بودم یک متد داشت به نام sentotelegramکه به اشتباه حرف d رو نزاشته بودم


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

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