Added --no-playlist to yt-dlp command. This seems to fix the bot randomly skipping songs

This commit is contained in:
brotoskyj
2026-01-20 21:30:39 -05:00
parent 7dea731cbf
commit 8fefbddffd
3 changed files with 17 additions and 5 deletions
Generated
+1 -1
View File
@@ -4,7 +4,7 @@ version = 4
[[package]]
name = "RhythmWorks"
version = "0.5.0"
version = "0.5.1"
dependencies = [
"dialoguer",
"keyring",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "RhythmWorks"
version = "0.5.0"
version = "0.5.1"
edition = "2024"
[dependencies]
+15 -3
View File
@@ -1,4 +1,3 @@
use core::error;
use dialoguer::Select;
use dialoguer::theme::ColorfulTheme;
use modules::*;
@@ -28,6 +27,7 @@ struct TrackTraceHandler {
otel_ctx: opentelemetry::Context,
guild_id: String,
track_url: String,
hls_url: String,
event_name: &'static str,
}
@@ -45,7 +45,15 @@ impl VoiceEventHandler for TrackTraceHandler {
.set_attribute(KeyValue::new("Guild_ID", self.guild_id.clone()));
cx.span()
.set_attribute(KeyValue::new("Youtube_URL", self.track_url.clone()));
cx.span().add_event(self.event_name, vec![KeyValue::new("track_status", track_status.unwrap().to_string())]);
cx.span()
.set_attribute(KeyValue::new("Stream_URL", self.hls_url.clone()));
cx.span().add_event(
self.event_name,
vec![KeyValue::new(
"track_status",
track_status.unwrap().to_string(),
)],
);
});
None
@@ -215,7 +223,7 @@ impl EventHandler for Handler {
manager.join(guild_id, channel_id).await.unwrap()
};
let output = match Command::new("./yt-dlp")
.args(["-f", "bestaudio", "-g", &yt_url])
.args(["-f", "bestaudio", "-g", "--no-playlist", &yt_url])
.stdout(Stdio::piped())
.output()
{
@@ -240,6 +248,7 @@ impl EventHandler for Handler {
.expect("Invalid UTF-8")
.trim()
.to_string();
let telemetry_stream_url = stream_url.clone();
let mut call = handler_lock.lock().await;
let input = Input::from(HlsRequest::new(reqwest::Client::new(), stream_url));
let track_handle = call.enqueue_input(input).await;
@@ -265,6 +274,7 @@ impl EventHandler for Handler {
otel_ctx: otel_ctx.clone(),
guild_id: guild_id.to_string().clone(),
track_url: yt_url.clone(),
hls_url: telemetry_stream_url.clone(),
event_name: "Track Started Playing",
},
);
@@ -274,6 +284,7 @@ impl EventHandler for Handler {
otel_ctx: otel_ctx.clone(),
guild_id: guild_id.to_string().clone(),
track_url: yt_url.clone(),
hls_url: telemetry_stream_url.clone(),
event_name: "Track Finished",
},
);
@@ -283,6 +294,7 @@ impl EventHandler for Handler {
otel_ctx: otel_ctx.clone(),
guild_id: guild_id.to_string().clone(),
track_url: yt_url.clone(),
hls_url: telemetry_stream_url.clone(),
event_name: "Playback had an error",
},
);