سلام من یک ربات تلگرام با php نوشتم که کاربر هر چیزی رو که وارد کرد ربات همان رو در جواب برگرداند
مطمئن هستم که کدم درسته
اول ربات ب این کدها فعال نبود که با تماس با هاست ssl ست شد و کار کرد الان دوباره از کار افتاده . ممکنه اشکال از ssl باشه ؟
سایت https://www.sslshopper.com/ssl-checker.html وضعیت ssl رو درست ارزیابی میکنه .
پس اشکال ا ز کجاست ؟
کد من اینه :
telegram.php :
<?php
class telegram {
public $token;
public function __construct($token)
{
$this->token = $token;
}
public function recievedText()
{
$text= json_decode(file_get_contents('php://input'),true);
return $text;
}
public function sendMessage($userid,$text)
{
$url='https://api.telegram.org/bot'.$this->token.'/sendMessage?chat_id='.$userid.'&text='.$text;
file_get_contents($url) ;
}
}
?>
index.php :
<?php
require ('config.php');
require('telegram.php');
$telegram = new telegram(TOKEN);
$result = $telegram->recievedText();
$userid = $result->message->from->id;
$text = $result->message->text;
$telegram->sendMessage($userid,$text) ;
?>
config.php :
<?php
define('TOKEN','----');
?>
حتی من برای ساده تر شدن برنامه userid$ رو دستی جایگزاری کردم و $text رو هم یک استرینگ ثابت گذاشتم ولی بازم کار نکرد
============================
وقتی کد زیر را تغییر دادم
file_get_contents($url) ;
و این کد را بجایش نوشتم :
$requestResponse = file_get_contents($url);
var_dump($http_response_header);
var_dump($requestResponse);
این نتیجه را داد :
ظاهرا اصلا request ارسال نمیشود . چرا ؟
array(8) { [0]=> string(24) "HTTP/1.1 400 Bad Request" [1]=> string(20) "Server: nginx/1.12.2" [2]=> string(35) "Date: Wed, 10 Oct 2018 07:42:39 GMT" [3]=> string(30) "Content-Type: application/json" [4]=> string(18) "Content-Length: 80" [5]=> string(17) "Connection: close" [6]=> string(30) "Access-Control-Allow-Origin: *" [7]=> string(81) "Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection" } bool(false)