Как скачать файл с ютуба в формате mp3 на c# для отправки через телеграм бота?

Рейтинг: 0Ответов: 0Опубликовано: 17.04.2023

Я пишу бота для телеграмм, который будет скачивать песню с ютуба по ссылке. Я смог реализовать скачивание видео через YouTubeExtract, но не понимаю как скачать именно аудио. Оно должно сохраняться в переменную типа Stream, чтобы ее принял метод телеграма SendAudioAsync.

Вот пример кода для отправки сообщения:

case InteractionType.DownloadSong:
                var aud = await _mediaDownloader.DownloadAudio(messageText);
                if (aud is null)
                {
                    sentMessage = await bot.SendTextMessageAsync(
                        chatId: chatId,
                        text: "Ошибка при скачивании аудио.\nПопробуйте еще раз!",
                        cancellationToken: token
                    );
                }
                sentMessage = await bot.SendAudioAsync(
                    chatId: chatId,
                    audio: new InputFile(aud),
                    cancellationToken: token);
                break;

Вот пример моего функционала для скачивания видео:

public async Task<Stream?> DownloadVideo(string url)
    {
        using var service = Client.For(YouTube.Default);
        var video = await service.GetVideoAsync(url);
        return await video.StreamAsync();
    }

Ответы

Ответов пока нет.