2016-04-26 134 views
1

对于我的新机器人,我需要获取真实的文件名。 当我得到file_id并请求生成与“获取文件”命令的下载链接时,文件名看起来像“file_370.mp3”,但真正的文件名是:“michaeljackson.mp3”。如何通过file_id在电文中获取文件名

我想这代码:

$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; 

我怎样才能得到真正的文件名?

回答

0

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

这里avaliable属性:https://core.telegram.org/bots/api#audio

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

+0

谢谢你的回答丹尼尔。当我们想要像普通会员文件名称一样在电报中下载mp3文件是真实的!但是当我们用bot下载它的名字并不真实!我想要通过机器人来做到这一点。 –

相关问题