【问题标题】:How do I send a photo to telegram channel with telegram bot?如何使用电报机器人将照片发送到电报频道?
【发布时间】:2023-09-08 10:19:02
【问题描述】:

我可以使用此代码将照片发送到带有聊天 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,我会收到来自电报的空答案,并且不会发送照片。

【问题讨论】:

  • 您确定您的机器人是您尝试发送到的频道的管理员吗?
  • 是的,因为我可以发送消息机器人我不能发送照片。

标签: php photo channel telegram-bot


【解决方案1】:

您的频道应该是公开的,并且chat_id 的格式必须是@channelusername

Source

【讨论】: