如何解决如何在电报Bot中从用户下载音频消息?
一天中的昂贵时间。有一个问题。我想制作一个电报机器人,它能够读取用户的语音消息并将其下载到服务器。问题是,如何使漫游器自动理解音频已发送给它并保存到指定目录? P.S尝试了
bot.on('voice',(msg)=>{
bot.getFile(msg.voice.file_id,() => {
bot.getFile(voiceId).then((resp) => {
{
file_id = 'file_id',file_size = 6666,file_path = 'file_path'
}
bot.getFileLink(voiceId).then((resp) => {
'https://api.telegram.org/file/bot<BOT_TOKEN>/<file_path>'
});
});
});
但仅下载我指定的ID和路径的文件
解决方法
您可以使用 axios 和 telegram.getFileLink()
:(这是一个 telegraf 示例)
bot.on("voice",ctx => {
ctx.telegram.getFileLink(ctx.message.vioce.file_id).then((url) => {
axios.get(url,{ responseType: "arraybuffer" }).then((voice) => {
fs.writefile(`./lib/voices/${ctx.from.id}/${ctx.message.vioce.file_id}.ogg`,voice)})
})
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。