Added --no-playlist to yt-dlp command. This seems to fix the bot randomly skipping songs
This commit is contained in:
Generated
+1
-1
@@ -4,7 +4,7 @@ version = 4
|
||||
|
||||
[[package]]
|
||||
name = "RhythmWorks"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
dependencies = [
|
||||
"dialoguer",
|
||||
"keyring",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "RhythmWorks"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
|
||||
+15
-3
@@ -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",
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user