use crate::{ commands::embeds::{embed, error_embed}, Context, Error, }; use poise::CreateReply; /// Pauses the currently playing song #[poise::command(prefix_command, slash_command, category = "Music")] pub async fn pause(ctx: Context<'_>) -> Result<(), Error> { let guild_id = ctx.guild_id().unwrap(); let manager = songbird::get(ctx.serenity_context()) .await .expect("Songbird client placed at init") .clone(); if let Some(handler_lock) = manager.get(guild_id) { let handler = handler_lock.lock().await; let queue = handler.queue(); let _ = queue.pause(); ctx.send( CreateReply::default().embed( embed(ctx, "Paused!", "Currently playing song is now paused!", "") .await .unwrap(), ), ) .await?; } else { let msg = "I am not in a voice channel!"; ctx.send(CreateReply::default().embed(error_embed(ctx, msg).await.unwrap())) .await?; } Ok(()) }