diff options
| author | Nathan Perry <np@nathanperry.dev> | 2019-11-17 21:31:28 -0500 |
|---|---|---|
| committer | Nathan Perry <np@nathanperry.dev> | 2019-11-17 21:31:28 -0500 |
| commit | 2a38c282dd57c2051a568549d62c80d6036e8920 (patch) | |
| tree | ec25f84dda5cdb100ae093b0a690ef349636b4dc /src/audio/play_queue.rs | |
| parent | 479bb8d584b138054acc6567b72cb3076832e79c (diff) | |
most restructuring done
Diffstat (limited to 'src/audio/play_queue.rs')
| -rw-r--r-- | src/audio/play_queue.rs | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/audio/play_queue.rs b/src/audio/play_queue.rs index aa2ccc5..1f80961 100644 --- a/src/audio/play_queue.rs +++ b/src/audio/play_queue.rs @@ -9,6 +9,7 @@ use std::{ use either::{Left, Right}; use serenity::{ + CacheAndHttp, client::bridge::voice::ClientVoiceManager, prelude::*, voice, @@ -22,7 +23,6 @@ use crate::{ ytdl_url, }, commands::{ - send, sound_levels::DEFAULT_VOLUME, }, must_env_lookup, @@ -63,23 +63,28 @@ impl PlayQueue { pub fn register(c: &mut Client) { let voice_manager = Arc::clone(&c.voice_manager); - let mut data = c.data.lock(); let queue = Arc::new(RwLock::new(PlayQueue::new())); - data.insert::<PlayQueue>(Arc::clone(&queue)); + { + let mut data = c.data.write(); + data.insert::<PlayQueue>(Arc::clone(&queue)); + } + + let cache_http = c.cache_and_http.clone(); thread::spawn(move || { loop { - if let Err(e) = Self::update(&queue, &voice_manager) { + if let Err(e) = Self::update(cache_http, &queue, &voice_manager) { error!("updating playqueue: {}", e); } thread::sleep(Duration::from_millis(250)); } }); + } - fn update(queue_lck: &Arc<RwLock<Self>>, voice_manager: &Arc<Mutex<ClientVoiceManager>>) -> Result<()> { + fn update(cache_http: Arc<CacheAndHttp>, queue_lck: &Arc<RwLock<Self>>, voice_manager: &Arc<Mutex<ClientVoiceManager>>) -> Result<()> { let (queue_is_empty, queue_has_playing) = { let queue = queue_lck.read().unwrap(); @@ -236,7 +241,7 @@ impl PlayQueue { }, None => { error!("couldn't join channel"); - send(item.sender_channel, "something happened somewhere somehow.", false)?; + item.sender_channel.say(cache_http.http, "something happened somewhere somehow.")?; } } |
