Webhook Telegram bot php不运行

时间:2016-01-17 15:39:53

标签: php https webhooks telegram-bot

我已经开始使用webhooks创建一个机器人电报了。 我的第一个问题:我必须用HTTPS添加网站的网址?我的网站不是HTTPS,只是HTTP。电报只需要HTTPS吗?

第二个问题:当我启用webhook时,我把它放在:“php:// input”。

php ini_set('error_reporting', E_ALL);

$botToken ="*********************";

$website="https://api.telegram.org/bot".$botToken;

$update=file_get_contents("php://input");//before: $website."/getupdates"

$updateArray=json_decode($update, TRUE);

$chatID=$updateArray["message"]["chat"]["id"]; $message=$updateArray["message"]["text"];

switch($message) {   case "/saluto":         sendMessage($chatID, "Ciao, sono il bot di Vincenzo e Francesco");         >break;      case "/comiato":       sendMessage($chatID, "Ciao è stato bello parlare con te");       break;      case default:      sendMessage($chatID, "Non ho capito!");          break; }

function sendMessage($chatID, $message) {       $url=GLOBALS[$website]./"sendMessagechat_id=".$chatID."&text=".urlencode($messag>e);    file_get_contents($url); }

?>

1 个答案:

答案 0 :(得分:1)

  1. 是的,Telegram目前只支持HTTPS。

      

    您需要有效的SSL证书才能使用webhooks   https://core.telegram.org/bots/faq#i-39m-having-problems-with-webhooks

  2. 您可以使用$HTTP_RAW_POST_DATA

    获取您收到的数据
    $data = json_decode($HTTP_RAW_POST_DATA, true);
    $message = $data["message"];          // Message-Array 
    $chatID = $message["chat"]["id"];     // Chat ID
    $message_text = $message["text"];     // Message Text