1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 18:21:07 +01:00
Files
niveum/configs/bots/default.nix

115 lines
3.4 KiB
Nix
Raw Normal View History

2022-03-10 21:52:12 +01:00
{
config,
pkgs,
...
2025-12-27 22:22:54 +01:00
}:
let
reverseDirectory = "/run/telegram-reverse";
proverbDirectory = "/run/telegram-proverb";
2025-12-27 22:22:54 +01:00
in
{
imports = [
2024-10-08 18:51:43 +02:00
./logotheca.nix
./transits.nix
./autorenkalender.nix
2022-07-21 20:33:37 +02:00
./hesychius.nix
2022-08-23 14:47:24 +02:00
./smyth.nix
./nachtischsatan.nix
2025-12-19 13:11:06 +01:00
# ./tlg-wotd.nix TODO reenable
2022-11-25 11:27:16 +01:00
./celan.nix
2024-10-11 09:36:39 +02:00
./nietzsche.nix
];
2025-12-19 13:11:06 +01:00
age.secrets = {
telegram-token-kmein.file = ../../secrets/telegram-token-kmein.age;
};
2025-12-27 22:22:54 +01:00
systemd.tmpfiles.rules =
map
(
path:
pkgs.lib.niveum.tmpfilesConfig {
type = "d";
mode = "0750";
age = "1h";
inherit path;
}
)
[
reverseDirectory
proverbDirectory
];
2022-05-22 11:47:59 +02:00
niveum.passport.services = [
{
title = "Rückwarts-Bot";
link = "https://t.me/RueckwaertsBot";
description = "reverses things on Telegram.";
}
{
title = "BetaCode-Bot";
link = "https://t.me/BetaCodeBot";
description = "converts <a href=\"https://en.wikipedia.org/wiki/Beta_Code\">beta code</a> to polytonic Greek on Telegram.";
}
{
title = "Sprichwortgenerator-Bot";
link = "https://t.me/SprichwortGeneratorBot";
description = "generates useless German proverbs with optional stock photo background on Telegram.";
}
];
age.secrets = {
telegram-token-reverse.file = ../../secrets/telegram-token-reverse.age;
telegram-token-betacode.file = ../../secrets/telegram-token-betacode.age;
telegram-token-proverb.file = ../../secrets/telegram-token-proverb.age;
telegram-token-streaming-link.file = ../../secrets/telegram-token-streaming-link.age;
};
systemd.services.telegram-reverse = {
2025-12-27 22:22:54 +01:00
wantedBy = [ "multi-user.target" ];
2021-06-12 14:21:09 +02:00
description = "Telegram reverse bot";
2025-12-27 22:22:54 +01:00
path = [ pkgs.ffmpeg ];
2023-06-06 20:39:29 +02:00
enable = true;
script = ''
2025-12-28 13:19:15 +01:00
TELEGRAM_BOT_TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")" ${pkgs.telebots}/bin/telegram-reverse
'';
serviceConfig.Restart = "always";
serviceConfig.WorkingDirectory = reverseDirectory;
serviceConfig.LoadCredential = "token:${config.age.secrets.telegram-token-reverse.path}";
};
systemd.services.telegram-streaming-link = {
2025-12-27 22:22:54 +01:00
wantedBy = [ "multi-user.target" ];
description = "Telegram bot converting YouTube Music <-> Spotify";
enable = true;
script = ''
2025-12-28 13:19:15 +01:00
TELEGRAM_BOT_TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")" ${pkgs.telebots}/bin/telegram-streaming-link
'';
serviceConfig.Restart = "always";
serviceConfig.LoadCredential = "token:${config.age.secrets.telegram-token-streaming-link.path}";
};
systemd.services.telegram-betacode = {
2025-12-27 22:22:54 +01:00
wantedBy = [ "multi-user.target" ];
2021-06-12 14:21:09 +02:00
description = "Telegram beta code bot";
2023-06-06 20:39:29 +02:00
enable = true;
script = ''
2025-12-28 13:19:15 +01:00
TELEGRAM_BOT_TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")" ${pkgs.telebots}/bin/telegram-betacode
'';
serviceConfig.Restart = "always";
serviceConfig.LoadCredential = "token:${config.age.secrets.telegram-token-betacode.path}";
};
systemd.services.telegram-proverb = {
2025-12-27 22:22:54 +01:00
wantedBy = [ "multi-user.target" ];
description = "Telegram proverb bot";
2023-06-06 20:39:29 +02:00
enable = true;
script = ''
2025-12-28 13:19:15 +01:00
TELEGRAM_BOT_TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")" ${pkgs.telebots}/bin/telegram-proverb
'';
serviceConfig.Restart = "always";
serviceConfig.WorkingDirectory = proverbDirectory;
serviceConfig.LoadCredential = "token:${config.age.secrets.telegram-token-proverb.path}";
};
}