2015-07-02 5 views
3

Я пытаюсь использовать API Telegram, чтобы сделать приложение для онлайн-рекламы с PHP, но проблема заключается в том, что я даже не понимаю, как сделать запрос на веб-сайт телеграммы. Это короткий код, который я написал на основе API и протокол Телеграммы в:Использование API телеграммы с PHP

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <meta http-equiv="Content-Length" content="348"> 
    <meta http-equiv="Connection" content="keep-alive"> 
    <meta http-equiv="Host" content="149.154.167.40:80"> 
</head> 

<body> 
<?php 
$url = '149.154.167.40'; 

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $url); 

$result = curl_exec($curl); 

echo $result; 

?> 
</body> 
</html> 

Кто-нибудь есть идеи, как сделать его работу?

+0

-.-- --- ..-/... .... --- ..- .- .. - ../.- ... -.-/- ...../...-. -. - .. --- .-. .-.- .- Вы должны спросить продавца, есть ли у них форумы поддержки? В противном случае вы получаете какие-либо ошибки? Более конкретно. Вам просто нужно [сообщить cURL] (http://php.net/manual/en/function.curl-setopt.php), чтобы вернуть перевод? – ficuscr

+0

нет форума, и он просто возвращает «501 Not Implemented» на «nginx/0.3.33», как я понял, основываясь на используемом протоколе, мы должны подключиться к сети и отправить сообщение, которое они нам дали. – AmirMasoud

+0

Ahh, может быть, вам нужно сказать cURL, чтобы следить за перенаправлениями? 'CURLOPT_FOLLOWLOCATION' Также, если он маршрутизируется, поскольку HTTPS может потребоваться сообщить cURL, чтобы игнорировать проверку сертификата. При выполнении запроса не требуется другая аутентификация? – ficuscr

ответ

6

API Telegram - это боль, которую нужно использовать, вы должны применять все виды колдовства шифрования для работы со своим протоколом MTProto, и для PHP доступно очень мало ссылок или примеров. Я предлагаю вам использовать их новые Bot API. Это созданная служба, которая абстрагирует все взаимодействия MTProto за простым HTTP-уровнем. Сначала вам нужно сгенерировать бот, используя их Bot Father, а затем вы используете идентификатор для взаимодействия с API.

Прием новых сообщений (опрос):

<?php 

$bot_id = "<bot ID generated by BotFather>"; 

# Note: you want to change the offset based on the last update_id you received 
$url = 'https://api.telegram.org/bot' . $bot_id . '/getUpdates?offset=0'; 
$result = file_get_contents($url); 
$result = json_decode($result, true); 

foreach ($result['result'] as $message) { 
    var_dump($message); 
} 

Отправка сообщения:

# The chat_id variable will be provided in the getUpdates result 
$url = 'https://api.telegram.org/bot' . $bot_id . '/sendMessage?text=message&chat_id=0'; 
$result = file_get_contents($url); 
$result = json_decode($result, true); 

var_dump($result['result']); 

Вы можете также использовать webhook вместо опроса для обновлений. Дополнительную информацию вы можете найти в документации по API, которую я связал.

Смежные вопросы