dsjohn
@dsjohn

Как скачать аудио сообщение от пользователя в телеграм боте?

Дорого времени суток. Есть вопрос. Хочу сделать телеграм бота кторый смог бы читать голосовые сообщеня от пользователя и скачивать их на сервер. Вопрос, как сделать что бы бот автоматически понимал что ему прислали аудио и сохранил его в указаную директорию?
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 и path которого я указал
  • Вопрос задан
  • 681 просмотр
Решения вопроса 1
dsjohn
@dsjohn Автор вопроса
вот ответ
request("https://api.telegram.org/bot"+TOKEN+"/getFile?file_id=" + file_id, { json: true }, (err, res, body) => {
        if (err) { return console.log(err); }
        console.log(body.result.file_path);
        full = "https://api.telegram.org/file/bot"+TOKEN+"/" + body.result.file_path;
        console.log (full);
        const file = fs.createWriteStream("file.ogg");
        const request = https.get(full, function(response) {
            response.pipe(file)
        })
    });

});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Art_NRG
Для скачивания голосового сообщения нужно получить json: "https://api.telegram.org/bot" + botToken + "/getFile?file_id=" + file_id, там будет file_path для скачивания.
Достаем его и качаем: "https://api.telegram.org/file/bot" + botToken + "/" + file_path
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы