Да, я только что узнал, как это работает. При перезаписи вы можете использовать discord.FFmpegPCMAudio (url) , чтобы сделать это. Следует помнить, что URL, который вы поместили в discord.FFmpegPCMAudio () не ссылка YouTube, которую вы можете скопировать из браузера, например https://www.youtube.com/watch?v=videoid . Из этого кода вы получаете огромный словарь json, в котором содержится «реальный» URL:
# Get a json library with general video information, as well as the url we need to stream the audio.
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
song_info = ydl.extract_info("https://www.youtube.com/watch?v=INPUTYTLINKHERE", download=False)
Если вы хотите, вы можете распечатать song_info, чтобы увидеть больше информации о видео, например количество просмотров, лайков и многое другое:
print(song_info)
А вот и последний код: (я использую @client и asyn c def on_message (message))
# The "real" url is in song_info["formats"][0]["url].
message.guild.voice_client.play(discord.FFmpegPCMAudio(song_info["formats"][0]["url"]))
message.guild.voice_client.source = discord.PCMVolumeTransformer(message.guild.voice_client.source)
message.guild.voice_client.source.volume = 1
Надеюсь, это прояснилось.