def main [
channel: string,
--emote (-e): string = "<3",
] {
twitch notices $channel | where event_type =~ SUB | each {
insert sub ($in.event.to?) |
default $in.sender sub |
insert gifter ($in.event.from?)
} | select sub gifter timestamp |
reduce --fold (date now) {|$it, $acc|
if ($acc < $it.timestamp) {
sleep ((random int 5..15) * 1sec) |
[(seq 0 (random int 0..5) | each { $emote } | str join " ")] |
twitch say $channel;
$it.timestamp + 1min
} else $acc
}
}