RMusicBot/src/player/commands/pause.rs

37 lines
843 B
Rust
Raw Normal View History

2018-11-14 14:29:58 +00:00
use serenity;
use super::super::prelude::*;
2019-07-12 08:39:03 +00:00
use serenity::prelude::*;
use serenity::{
framework::standard::{macros::command, Args, CommandResult},
model::channel::Message,
};
#[command]
fn pause(ctx: &mut Context, msg: &Message, _: Args) -> CommandResult {
if !channel_contains_author(ctx, msg) {
println!(
"user {} is not in the same voice channel as the bot",
msg.author.name
);
return Ok(());
2018-11-14 14:29:58 +00:00
}
2019-07-12 08:39:03 +00:00
let data = ctx.data.read();
2019-07-12 12:41:51 +00:00
let media = match data.get::<Media>() {
Some(media) => media,
None => {
display_error_ok!(msg.channel_id.say(&ctx.http, "could not find media data"));
2018-11-23 12:18:07 +00:00
return Ok(());
}
2019-07-12 08:39:03 +00:00
};
2018-11-23 12:18:07 +00:00
2019-07-12 12:41:51 +00:00
if let Some(song) = media.song() {
let mut lock = song.lock();
lock.pause();
}
2018-11-14 14:29:58 +00:00
2019-07-12 08:39:03 +00:00
Ok(())
2018-11-14 14:29:58 +00:00
}