nix-configs/other/scripts/networkhooks/ccchh.nu

40 lines
880 B
Text

const wave_timeout = 15min;
def main [
interface: string
type: string
] {
if not ('/var/lib/ccchh-winken/last' | path exists) {
mkdir '/var/lib/ccchh-winken';
0 | into datetime | save '/var/lib/ccchh-winken/last' -f;
}
let $last_waved = open '/var/lib/ccchh-winken/last' --raw | into datetime;
if ((date now) - $last_waved) > $wave_timeout {
if $type == "up" {
mullvad disconnect;
curl mqtt://mqtt.z9/winkekatze/katz9/eye/set -d (rand-color);
curl mqtt://mqtt.z9/winkekatze/Viktoria/eye/set -d (rand-color);
curl mqtt://mqtt.z9/winkekatze/allcats -d 'wink';
date now | save '/var/lib/ccchh-winken/last' -f;
}
}
}
def rand-color [] {
const colors = [
"blue"
"cyan"
"green"
"pink"
"red"
"white"
"yellow"
];
$colors | get (random int 0..(($colors | length) - 1))
}