mirror of
https://github.com/kmein/niveum
synced 2026-03-22 12:51:08 +01:00
rename bot structure
This commit is contained in:
53
configs/bots/smyth.nix
Normal file
53
configs/bots/smyth.nix
Normal file
@@ -0,0 +1,53 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
niveum.bots.smyth = {
|
||||
enable = true;
|
||||
time = "08:00";
|
||||
mastodon = {
|
||||
enable = true;
|
||||
tokenFile = config.age.secrets.mastodon-token-smyth.path;
|
||||
language = "en";
|
||||
};
|
||||
telegram = {
|
||||
enable = true;
|
||||
tokenFile = config.age.secrets.telegram-token-kmein.path;
|
||||
chatIds = ["@HerbertWeirSmyth"];
|
||||
};
|
||||
command = toString (pkgs.writers.writeDash "random-smyth" ''
|
||||
set -efu
|
||||
|
||||
RANDOM_SECTION=$(
|
||||
${pkgs.curl}/bin/curl -sSL http://www.perseus.tufts.edu/hopper/xmltoc?doc=Perseus%3Atext%3A1999.04.0007%3Asmythp%3D1 \
|
||||
| ${pkgs.gnugrep}/bin/grep -o 'ref="[^"]*"' \
|
||||
| ${pkgs.coreutils}/bin/shuf -n1 \
|
||||
| ${pkgs.gnused}/bin/sed 's/^ref="//;s/"$//'
|
||||
)
|
||||
|
||||
url="http://www.perseus.tufts.edu/hopper/text?doc=$RANDOM_SECTION"
|
||||
${pkgs.curl}/bin/curl -sSL "$url"\
|
||||
| ${pkgs.htmlq}/bin/htmlq '#text_main' \
|
||||
| ${pkgs.gnused}/bin/sed 's/<\/\?hr>//g' \
|
||||
| ${pkgs.pandoc}/bin/pandoc -f html -t plain --wrap=none
|
||||
|
||||
printf '\n%s\n\n#AncientGreek' "$url"
|
||||
'');
|
||||
};
|
||||
|
||||
systemd.timers.bot-smyth.timerConfig.RandomizedDelaySec = "10h";
|
||||
|
||||
age.secrets = {
|
||||
mastodon-token-smyth.file = ../../secrets/mastodon-token-smyth.age;
|
||||
};
|
||||
|
||||
niveum.passport.services = [
|
||||
{
|
||||
title = "Herbert Weir Smyth Bot";
|
||||
description = "sends a random section from Smyth's Ancient Greek grammar to Telegram.";
|
||||
link = "https://t.me/HerbertWeirSmyth";
|
||||
}
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user