use serenity::async_trait; use songbird::events::{Event, EventContext, EventHandler as VoiceEventHandler}; pub struct TrackErrorNotifier; #[async_trait] impl VoiceEventHandler for TrackErrorNotifier { async fn act(&self, ctx: &EventContext<'_>) -> Option { if let EventContext::Track(track_list) = ctx { for (state, handle) in *track_list { println!( "Track {:?} had an error: {:?}", handle.uuid(), state.playing ); } } None } }