如何通过电报中的file_id获取文件名

时间:2016-04-26 20:26:31

标签: file telegram telegram-bot

对于我的新机器人我需要获得真正的文件名。 当我得到file_id并请求生成带有“获取文件”的下载链接时,文件名看起来像“file_370.mp3”,但真正的文件名是:“michaeljackson.mp3”。

我试过这段代码:

 $mp3name = $result['message']['audio']['title'];
   $mp3fileid = $result['message']['audio']['file_id'];

   file_get_contents( $url."/sendaudio?chat_id=118718802&audio=$mp3fileid&performer=awaperformer&title=awatitle");



$bot_url = "https://api.telegram.org/bot".$botToken;

$file_path_gen_url = $bot_url."/getfile?file_id=".$mp3fileid;
// file_get_contents( $url."/sendmessage?chat_id=118718802&text=lastfileid:filegen:$file_path_gen_url");


$file_path_result = file_get_contents($file_path_gen_url);

// echo "last file id: $last_file_id <br>";

$file_path_result = json_decode($file_path_result, TRUE);


$file_path = $file_path_result['result']['file_path'];

// echo "file_path: $file_path <br>";

$file_url = "https://api.telegram.org/file/bot".$botToken."/".$file_path;

我怎样才能获得真实的文件名?

1 个答案:

答案 0 :(得分:0)

您无法获取音频对象的原始文件名。

这里有可用的属性:https://core.telegram.org/bots/api#audio

您可以获取文档对象的原始文件名。