From eb6a55eefdc47ed4405640d48ae629bf661f4b15 Mon Sep 17 00:00:00 2001 From: "DavidCrompton1192@gmail.com" Date: Sat, 11 Mar 2023 20:49:47 -0500 Subject: [PATCH] DING! --- deploy/flake.nix | 3 +++ src/utils/guild_popin.rs | 12 +++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/deploy/flake.nix b/deploy/flake.nix index cb540f4..96c3831 100644 --- a/deploy/flake.nix +++ b/deploy/flake.nix @@ -23,6 +23,9 @@ path = [ pkgs.newalan ]; + environment = { + DING_SOUND = "${pkgs.new_alan}/share/sounds/ding.mp3"; + }; script = '' ${pkgs.new_alan}/bin/new_alan ''; diff --git a/src/utils/guild_popin.rs b/src/utils/guild_popin.rs index 1cc1147..74fed55 100644 --- a/src/utils/guild_popin.rs +++ b/src/utils/guild_popin.rs @@ -4,7 +4,7 @@ use std::time::{Duration, Instant}; use rand::prelude::*; use serenity::Client; use songbird::error::JoinError; -use songbird::ffmpeg; +use songbird::{ffmpeg, create_player}; use songbird::id::ChannelId; use std::thread::sleep; use std::collections::HashMap; @@ -65,8 +65,14 @@ async fn popin(ctx: Context, guild: Guild) { let (call,status) = manager.join(guild.id, chan).await; match status { Ok(_) => { - let call = call.lock().await; - let ding = ffmpeg(""); + let mut call = call.lock().await; + let ding_src = std::env::var("DING_SOUND") + .expect("DING not found in DING_SOUND"); + let ding = ffmpeg(ding_src) + .await + .expect("no ding."); + let (mut audio, handle) = create_player(ding); + call.play(audio); }, Err(_err) => { println!("Error joining channel")