2016-01-27 1 views
3

У меня есть проблема с функцией sendAudio() в php telegram bot.php telegram sendAudio

if (strtoupper($text) == "MUSIC") { 
$voice = curl_file_create('audio.ogg'); 
$content = array('chat_id' => $chat_id, 'audio' => $voice); 
$telegram->sendAudio($content); 
} 

Это не работает с аудио длиной 9 или более секунд. Я тоже пробовал с .mp3, но ничего. То же самое работает с длительностью звука 6 или менее секунд. Я просмотрел документацию и говорит, что ограничено только 50 Мбайт файлов. Помощь pls. Вот моя телеграмма.

include("Telegram.php"); 
$bot_id = "xxxxxxx:yyyyyyyy_mytoken"; 
$telegram = new Telegram($bot_id); 

А вот Telegram.php:

class Telegram { 
private $bot_id = "mytoken"; 
private $data = array(); 
private $updates = array(); 
public function __construct($bot_id) { 
    $this->bot_id = $bot_id; 
    $this->data = $this->getData(); 
} 
public function endpoint($api, array $content, $post = true) { 
    $url = 'https://api.telegram.org/bot' . $this->bot_id . '/' . $api; 
    if ($post) 
     $reply = $this->sendAPIRequest($url, $content); 
    else 
     $reply = $this->sendAPIRequest($url, array(), false); 
    return json_decode($reply, true); 
} 
public function sendAudio(array $content) { 
    return $this->endpoint("sendAudio", $content); 
} 

ответ

0

Вы пробовали использовать sendVoice для Ogg файла вместо sendAudio?

2

Я использую этот код для отправки mp3-аудиофайла в телеграмму из моего приложения php, и он отлично работает для меня.

$BOT_TOKEN = 'yourBotToken'; 
    $chat_id = '@yourChannel'; 
    $filePath = 'your/path/file'; 
    define('BOTAPI', 'https://api.telegram.org/bot' . $BOT_TOKEN . '/'); 
    $cfile = new CURLFile(realpath($filePath)); 
    $data = [ 
     'chat_id' => $chat_id, 
     'audio' => $cfile, 
     'caption' => $message 
    ]; 
    $ch = curl_init(BOTAPI . 'sendAudio'); 
    curl_setopt($ch, CURLOPT_HEADER, false); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); 
    curl_exec($ch); 
    curl_close($ch); 
+0

Как насчет загрузки звуков mp3 в супергруппах на моем сервере? –