Compare commits
3 Commits
947d4d64c4
...
eb6a55eefd
| Author | SHA1 | Date | |
|---|---|---|---|
| eb6a55eefd | |||
| a6456ad9de | |||
| fb3f38596e |
@@ -20,8 +20,14 @@
|
|||||||
systemd.services.alan = {
|
systemd.services.alan = {
|
||||||
wantedBy = ["networking-online.target"];
|
wantedBy = ["networking-online.target"];
|
||||||
enable = true;
|
enable = true;
|
||||||
|
path = [
|
||||||
|
pkgs.newalan
|
||||||
|
];
|
||||||
|
environment = {
|
||||||
|
DING_SOUND = "${pkgs.new_alan}/share/sounds/ding.mp3";
|
||||||
|
};
|
||||||
script = ''
|
script = ''
|
||||||
${pkgs.new_alan}/bin/new_alan
|
${pkgs.new_alan}/bin/new_alan
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -66,6 +66,10 @@
|
|||||||
# artifacts from above.
|
# artifacts from above.
|
||||||
newalan = craneLib.buildPackage (commonArgs // {
|
newalan = craneLib.buildPackage (commonArgs // {
|
||||||
inherit cargoArtifacts;
|
inherit cargoArtifacts;
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/share/sounds
|
||||||
|
cp ding.mp3 $out/share/sounds/
|
||||||
|
'';
|
||||||
});
|
});
|
||||||
in rec {
|
in rec {
|
||||||
checks = pkgs.lib.optionalAttrs (system == "x86_64-linux") {
|
checks = pkgs.lib.optionalAttrs (system == "x86_64-linux") {
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ use std::sync::Arc;
|
|||||||
use std::time::{Duration, Instant};
|
use std::time::{Duration, Instant};
|
||||||
use rand::prelude::*;
|
use rand::prelude::*;
|
||||||
use serenity::Client;
|
use serenity::Client;
|
||||||
|
use songbird::error::JoinError;
|
||||||
|
use songbird::{ffmpeg, create_player};
|
||||||
use songbird::id::ChannelId;
|
use songbird::id::ChannelId;
|
||||||
use std::thread::sleep;
|
use std::thread::sleep;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
@@ -45,7 +47,7 @@ async fn popin(ctx: Context, guild: Guild) {
|
|||||||
most = Some(id);
|
most = Some(id);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Err(error) => {
|
Err(_error) => {
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -60,13 +62,27 @@ async fn popin(ctx: Context, guild: Guild) {
|
|||||||
Some(chan) => {
|
Some(chan) => {
|
||||||
let manager = songbird::get(&ctx).await
|
let manager = songbird::get(&ctx).await
|
||||||
.expect("Songbird: intialization");
|
.expect("Songbird: intialization");
|
||||||
let (_,_status) = manager.join(guild.id, chan).await;
|
let (call,status) = manager.join(guild.id, chan).await;
|
||||||
|
match status {
|
||||||
|
Ok(_) => {
|
||||||
|
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")
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
None => {
|
None => {
|
||||||
println!("No good channel to join")
|
println!("No good channel to join")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn popin_soon(ctx: Context, guild: Guild) {
|
async fn popin_soon(ctx: Context, guild: Guild) {
|
||||||
|
|||||||
Reference in New Issue
Block a user