From f6020bb85971d7684431a807319c6330e8856e71 Mon Sep 17 00:00:00 2001 From: "DavidCrompton1192@gmail.com" Date: Sun, 12 Mar 2023 12:46:49 -0400 Subject: [PATCH] Enable basic voice handler events --- src/vc/mod.rs | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/vc/mod.rs b/src/vc/mod.rs index eceb945..e053044 100644 --- a/src/vc/mod.rs +++ b/src/vc/mod.rs @@ -4,7 +4,7 @@ use serenity::{async_trait, model::prelude::{ChannelId, Guild}, prelude::{Context, Mutex}}; use songbird::{EventHandler, Event, EventContext, - model::payload::{Speaking, ClientDisconnect}, ffmpeg, create_player, Call}; + model::payload::{Speaking, ClientDisconnect}, ffmpeg, create_player, Call, CoreEvent}; struct Receiver; @@ -102,6 +102,32 @@ pub async fn join(ctx: Context, guild: Guild, cid: ChannelId) -> Option { { let mut call = call.lock().await; + + call.add_global_event( + CoreEvent::SpeakingUpdate.into(), + Receiver::new(), + ); + + call.add_global_event( + CoreEvent::VoicePacket.into(), + Receiver::new(), + ); + + call.add_global_event( + CoreEvent::RtcpPacket.into(), + Receiver::new(), + ); + + call.add_global_event( + CoreEvent::ClientDisconnect.into(), + Receiver::new(), + ); + + call.add_global_event( + CoreEvent::ClientDisconnect.into(), + Receiver::new(), + ); + let ding_src = std::env::var("DING_SOUND").expect("DING not found in DING_SOUND"); let ding = ffmpeg(ding_src).await.expect("no ding.");