使用PHP的电报API

Ami*_*oud 3 php curl telegram

我正在尝试使用Telegram API制作一个使用PHP的在线广告应用程序,但我遇到的问题是我甚至无法理解向电报网站提出请求.这是我根据Telegram的API和协议编写的一个简短代码:

<!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>
Run Code Online (Sandbox Code Playgroud)

有谁知道如何让它工作?

Chr*_*and 6

Telegram API很难使用,你必须应用所有类型的加密法术才能使用他们的MTProto协议,并且很少有可用的PHP参考或示例.我建议你使用他们的新Bot API.它是一个创建的服务,它抽象了简单HTTP层后面的所有MTProto交互.您首先需要使用他们的Bot Father生成机器人,然后使用该ID与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);
}
Run Code Online (Sandbox Code Playgroud)

发送消息:

# 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']);
Run Code Online (Sandbox Code Playgroud)

您还可以使用webhook而不是轮询更新.您可以在我链接的API文档中找到更多信息.