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

how to get filename by file_id in telegram

对于我的新机器人,我需要获取真实文件名。 当我收到 file_id 并请求使用 "get file" 推荐生成下载 link 时,文件名看起来像 "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;

如何获取真实文件名?

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

可用属性:https://core.telegram.org/bots/api#audio

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