如何使用电报机器人将照片发送到电报频道?

时间:2016-03-30 13:11:08

标签: php photo channel telegram-bot

我可以使用以下代码将照片发送到聊天ID的电报聊天:

<?php
     $bot_url    = "https://api.telegram.org/bot<token-bot>/";
     $ch = curl_init($bot_url.'SendPhoto');
     $cfile = new CURLFile(realpath('file.png'),'image/png','photo.png');
     $data = array(
         'chat_id' => '118186395',
         'photo' => $cfile ,
         'caption' => 'testing'
     );
     curl_setopt($ch, CURLOPT_POST,1);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
     echo curl_exec($ch);
?> 

但是,如果我将chat_id值更改为我频道的ID,我会收到来自电报的空答案,并且不会发送照片。

2 个答案:

答案 0 :(得分:0)

您的频道应公开,chat_id必须采用@channelusername格式。

Source

答案 1 :(得分:0)

我正在使用此代码,但我无法将照片发送到频道:

<?php
     $bot_url    = "https://api.telegram.org/bot<token-bot>/";
     $ch = curl_init($bot_url.'SendPhoto');
     $cfile = new CURLFile(realpath('file.png'),'image/png','photo.png');
     $data = array(
         'chat_id' => '@p30qom',
         'photo' => $cfile ,
         'caption' => 'testing'
     );
     curl_setopt($ch, CURLOPT_POST,1);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
     echo curl_exec($ch);
?> 

你可以测试这段代码和上面的代码吗?