1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00
Files
niveum/configs/telegram-bots/celan.nix

64 lines
2.2 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
pkgs,
lib,
config,
...
}: let
celan = pkgs.fetchzip {
url = "http://c.krebsco.de/celan.tar.gz";
sha256 = "sha256-nA+EwAH2vkeolsy9AoPLEMt1uGKDZe/aPrS95CZvuus=";
};
in {
niveum.bots.celan = {
enable = true;
time = "08:00";
telegram = {
enable = true;
tokenFile = config.age.secrets.telegram-token-kmein.path;
chatIds = ["@PaulCelan"];
};
mastodon = {
enable = true;
tokenFile = config.age.secrets.mastodon-token-celan.path;
language = "de";
};
command = toString (pkgs.writers.writeDash "random-celan" ''
cd ${celan}
poem="$(${pkgs.findutils}/bin/find . -type f | ${pkgs.coreutils}/bin/shuf -n1)"
source="$(${pkgs.coreutils}/bin/dirname "$poem" \
| ${pkgs.gnused}/bin/sed 's#^\./##;s/[-_]/ /g;s!/! !g;s/0\([0-9]\+\)/\1/g' \
| ${pkgs.gnused}/bin/sed 's/Der Sand aus den Urnen/#Der_Sand_aus_den_Urnen (1948)/g' \
| ${pkgs.gnused}/bin/sed 's/Mohn und Gedächtnis/#Mohn_und_Gedächtnis (1952)/g' \
| ${pkgs.gnused}/bin/sed 's/Von Schwelle zu Schwelle/#Von_Schwelle_zu_Schwelle (1955)/g' \
| ${pkgs.gnused}/bin/sed 's/Sprachgitter/#& (1959)/g' \
| ${pkgs.gnused}/bin/sed 's/Niemandsrose/#& (1963)/g' \
| ${pkgs.gnused}/bin/sed 's/Atemwende/#& (1967)/g' \
| ${pkgs.gnused}/bin/sed 's/Fadensonnen/#& (1968)/g' \
| ${pkgs.gnused}/bin/sed 's/Lichtzwang/#& (1970)/g' \
| ${pkgs.gnused}/bin/sed 's/Schneepart/#& (1971)/g' \
| ${pkgs.gnused}/bin/sed 's/Zeitgehöft/#& (1976)/g' \
| ${pkgs.gnused}/bin/sed 's/Frühwerk/#& (1989)/g' \
| ${pkgs.gnused}/bin/sed 's/Eingedunkelt/#& (1991)/g' \
| ${pkgs.gnused}/bin/sed 's/Nachlaß/#& (1997)/g'
)"
cat "$poem"
echo
printf "Aus: %s\n\n#PaulCelan #Celan #Lyrik #poetry" "$source"
'');
};
age.secrets = {
mastodon-token-celan.file = ../../secrets/mastodon-token-celan.age;
};
systemd.timers.bot-celan.timerConfig.RandomizedDelaySec = "10h";
niveum.passport.services = [
{
title = "Paul Celan Bot";
description = "sends a random poem by Paul Celan to Telegram.";
link = "https://t.me/PaulCelan";
}
];
}