猿问

使用 PHP Telegram Bot InputMediaPhoto 方法

我试图用我的 Telegram 机器人将一些图像发送到一条消息中。我使用InputMediaPhoto方法发送,但不幸的是不起作用。


这是我的代码:


$url = "https://api.telegram.org/bot" . "TOKEN" . "/InputMediaPhoto";

$postContent = [

    'chat_id' => $GLOBALS['chatId'],

    'media' => [

        ['type'=>'photo' ,'media' => 'http://www.alcan5000.com/JPG/64Caliente.jpg'], //Just for test

        ['type' => 'photo' ,'media' => 'http://www.alcan5000.com/JPG/64Caliente.jpg'],

        ['type' => 'photo' ,'media' => 'http://www.alcan5000.com/JPG/64Caliente.jpg']

    ]

];

post($url, $postContent);



function post($url, $postContent)

{


    $curl = curl_init();

    curl_setopt($curl, CURLOPT_URL, $url);

    curl_setopt($curl, CURLOPT_POSTFIELDS, $postContent);

    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

    $result = curl_exec($curl);

    curl_close($curl);

    return $result;

}


www说
浏览 119回答 0
0回答

浮云间

有两个问题。您需要使用的方法称为sendMediaGroup。此外,您发送的媒体必须位于 JSON 序列化数组中。将您的代码更改为这样应该可以工作: $url = "https://api.telegram.org/bot" . "TOKEN" . "/sendMediaGroup"; $postContent = [        'chat_id' => $GLOBALS['chatId'],        'media' => json_encode([            ['type'=>'photo' ,'media' => 'http://www.alcan5000.com/JPG/64Caliente.jpg'],            ['type' => 'photo' ,'media' => 'http://www.alcan5000.com/JPG/64Caliente.jpg'],            ['type' => 'photo' ,'media' => 'http://www.alcan5000.com/JPG/64Caliente.jpg']        ])    ];
随时随地看视频慕课网APP
我要回答