diff options
Diffstat (limited to 'src/commands/sound_levels.rs')
| -rw-r--r-- | src/commands/sound_levels.rs | 79 |
1 files changed, 9 insertions, 70 deletions
diff --git a/src/commands/sound_levels.rs b/src/commands/sound_levels.rs index 8c75b37..9a6cfc6 100644 --- a/src/commands/sound_levels.rs +++ b/src/commands/sound_levels.rs @@ -1,21 +1,14 @@ -use serenity::{ - framework::standard::{ - macros::command, - Args, - CommandResult, - }, - model::channel::Message, - prelude::*, +use crate::{ + commands::playback::songbird, + PoiseContext, }; -use crate::commands::songbird; - pub const DEFAULT_VOLUME: f32 = 0.20; const MAX_VOLUME: f32 = 5.0; -#[command] -pub async fn mute(ctx: &Context, msg: &Message, _: Args) -> CommandResult { - let (_sb, call) = songbird(ctx, msg).await?; +#[poise::command(slash_command, prefix_command, guild_only)] +pub async fn mute(ctx: PoiseContext<'_>) -> anyhow::Result<()> { + let (_sb, call) = songbird(ctx).await?; let mut call = call.lock().await; call.mute(true).await?; @@ -23,66 +16,12 @@ pub async fn mute(ctx: &Context, msg: &Message, _: Args) -> CommandResult { Ok(()) } -#[command] -pub async fn unmute(ctx: &Context, msg: &Message, _: Args) -> CommandResult { - let (_sb, call) = songbird(ctx, msg).await?; +#[poise::command(slash_command, prefix_command, guild_only)] +pub async fn unmute(ctx: PoiseContext<'_>) -> anyhow::Result<()> { + let (_sb, call) = songbird(ctx).await?; let mut call = call.lock().await; call.mute(true).await?; Ok(()) } - -// #[command] -// pub async fn volume(ctx: &Context, msg: &Message, mut args: Args) -> CommandResult { -// if args.len() == 0 { -// let vol = { -// let queue_lock = ctx.data.write().await.get::<PlayQueue>().cloned().unwrap(); -// let play_queue = queue_lock.read().unwrap(); -// (play_queue.volume / DEFAULT_VOLUME * 100.0) as usize -// }; -// -// trace!("reporting volume {}", vol); -// -// return util::send(ctx, msg.channel_id, &format!("volume: {}%", vol), msg.tts) -// .map_err(CommandError::from) -// .await; -// } -// -// let vol: usize = match args.single::<f32>() { -// Ok(vol) if vol.is_nan() => { -// warn!("reporting NaN volume"); -// return util::send(ctx, msg.channel_id, "you're a fuck", msg.tts) -// .map_err(CommandError::from) -// .await; -// }, -// Ok(vol) => vol as usize, -// Err(e) => { -// error!("parsing volume arg: {}", e); -// return util::send(ctx, msg.channel_id, "???????", msg.tts) -// .map_err(CommandError::from) -// .await; -// }, -// }; -// -// let mut vol: f32 = (vol as f32) / 100.0; // force aliasing to reasonable values -// let adjusted_text = if vol > MAX_VOLUME { -// format!(" ({:.0}% max)", MAX_VOLUME * 100.0) -// } else { -// "".to_owned() -// }; -// -// vol = vol.clamp(0.0, MAX_VOLUME); -// -// let queue_lock = ctx.data.write().await.get::<PlayQueue>().cloned().unwrap(); -// -// { -// let mut play_queue = queue_lock.write().unwrap(); -// play_queue.volume = vol * DEFAULT_VOLUME; -// info!("volume updated to {}", vol); -// } -// -// util::send(ctx, msg.channel_id, format!("volume adjusted{}", adjusted_text), msg.tts).await?; -// -// Ok(()) -// } |
