如何在电报中通过 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
您可以获得文档对象的原始文件名。
对于我的新机器人,我需要获取真实文件名。 当我收到 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
您可以获得文档对象的原始文件名。