From dfda319ab44d06a22f1b440aac181c4277785089 Mon Sep 17 00:00:00 2001 From: Jacob Date: Fri, 10 Apr 2026 00:53:23 -0400 Subject: [PATCH] fix: listen for voice events --- src/command/leave.rs | 16 +++++++++++++--- src/main.rs | 5 ++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/command/leave.rs b/src/command/leave.rs index ee18f1a..0d03df2 100644 --- a/src/command/leave.rs +++ b/src/command/leave.rs @@ -150,15 +150,25 @@ pub async fn handle(state: State, interaction: Interaction) { state .discord_client .interaction(state.discord_application_id) - .update_response(&interaction.token) - .embeds(Some(&[EmbedBuilder::new() + .create_response(interaction.id, &interaction.token, + &InteractionResponse { + kind: InteractionResponseType::ChannelMessageWithSource, + data: Some( + InteractionResponseDataBuilder::new() + .embeds([ + EmbedBuilder::new() .title("Left VC") .description(format!( "This bot left {channel_mention} (and is thereby unable to record anymore)." )) .validate() .unwrap() - .build()])) + .build() + ]) + .flags(MessageFlags::EPHEMERAL) + .build(), + ), + },) .await .expect("TODO"); } diff --git a/src/main.rs b/src/main.rs index 5f9b154..aafe77b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -212,7 +212,10 @@ async fn main() -> Result<(), MainError> { #[tracing::instrument(skip(command_router, state))] async fn handle_events(command_router: Arc, state: State, mut shard: Shard) { - let event_types = EventTypeFlags::GUILD_VOICE_STATES | EventTypeFlags::INTERACTION_CREATE; + let event_types = EventTypeFlags::GUILD_VOICE_STATES + | EventTypeFlags::INTERACTION_CREATE + | EventTypeFlags::VOICE_SERVER_UPDATE + | EventTypeFlags::VOICE_STATE_UPDATE; while let Some(Some(event_res)) = shard .next_event(event_types)