使用PHP电报机器人InputMediaPhoto方法

使用PHP电报机器人InputMediaPhoto方法,php,bots,telegram,Php,Bots,Telegram,我正试图用我的电报机器人将一些图像发送到一条信息中。我使用了InputMediaPhoto方法发送,但不幸的是不起作用 这是我的密码: $url = "https://api.telegram.org/bot" . "TOKEN" . "/InputMediaPhoto"; $postContent = [ 'chat_id' => $GLOBALS['chatId'], 'media' => [

我正试图用我的电报机器人将一些图像发送到一条信息中。我使用了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;
}

有两个问题

你需要使用的方法叫做。此外,您发送的媒体必须位于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']
        ])
    ];

post函数的输出是什么?我想问一下,你收到的电报是什么答复。非常感谢。但是我怎样才能发送本地文件呢?@mdarmanam,我已经做了一些Python来发送集体照片。请检查这里,它可能会给你一些解决问题的方法。