diff --git a/Cargo.toml b/Cargo.toml
index eb94fb692..b8bdeb60e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -135,6 +135,7 @@ driver = [
"url",
"xsalsa20poly1305",
]
+youtube-dlc = []
rustls = ["async-tungstenite/tokio-rustls"]
native = ["async-tungstenite/tokio-native-tls"]
serenity-rustls = ["serenity/rustls_backend", "rustls", "gateway", "serenity-deps"]
diff --git a/src/input/ytdl_src.rs b/src/input/ytdl_src.rs
index 1de388005..90cce9080 100644
--- a/src/input/ytdl_src.rs
+++ b/src/input/ytdl_src.rs
@@ -14,6 +14,12 @@ use std::{
use tokio::task;
use tracing::trace;
+const YOUTUBE_DL_COMMAND: &str = if cfg!(feature = "youtube-dlc") {
+ "youtube-dlc"
+} else {
+ "youtube-dl"
+};
+
/// Creates a streamed audio source with `youtube-dl` and `ffmpeg`.
pub async fn ytdl(uri: &str) -> Result {
_ytdl(uri, &[]).await
@@ -45,7 +51,7 @@ pub(crate) async fn _ytdl(uri: &str, pre_args: &[&str]) -> Result {
"-",
];
- let mut youtube_dl = Command::new("youtube-dl")
+ let mut youtube_dl = Command::new(YOUTUBE_DL_COMMAND)
.args(&ytdl_args)
.stdin(Stdio::null())
.stderr(Stdio::piped())