diff options
author | makefu <github@syntax-fehler.de> | 2023-04-23 16:26:01 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2023-04-23 16:26:01 +0200 |
commit | 60fb7a1aa12b1d18224babeaf5481e43663b65b8 (patch) | |
tree | 2054d6460bc1a4a35de4496c88d33644878757da /krebs/2configs/reaktor2.nix | |
parent | d8de7ad7063d6a2028e8dc40771f89af216fbfaf (diff) | |
parent | 4bf2909be3afb5e834cacdb4d6f949e4dd78400e (diff) |
Merge remote-tracking branch 'lassul.us/master'
Diffstat (limited to 'krebs/2configs/reaktor2.nix')
-rw-r--r-- | krebs/2configs/reaktor2.nix | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/krebs/2configs/reaktor2.nix b/krebs/2configs/reaktor2.nix index 39039cc11..0a5031415 100644 --- a/krebs/2configs/reaktor2.nix +++ b/krebs/2configs/reaktor2.nix @@ -51,6 +51,45 @@ let }; }; + bing = { + pattern = "!bing (.*)$"; + activate = "match"; + arguments = [1]; + timeoutSec = 1337; + command = { + filename = pkgs.writeDash "bing" '' + set -efu + report_error() { + printf '%s' "$*" | + curl -Ss http://p.r --data-binary @- | + tail -1 | + echo "error $(cat)" + exit 0 + } + export PATH=${makeBinPath [ + pkgs.coreutils + pkgs.curl + pkgs.jq + ]} + response=$(printf '%s' "$*" | + curl -SsG http://bing-gpt.r/api/chat --data-urlencode 'prompt@-' + ) + if [ "$?" -ne 0 ]; then + report_error "$response" + else + if ! text=$(printf '%s' "$response" | jq -er '.item.messages[1].text'); then + echo "$_from: $(report_error "$response")" + exit 0 + fi + printf '%s' "$text" | echo "$_from: $(cat)" + + printf '%s' "$response" | + jq -r '[.item.messages[1].sourceAttributions[].seeMoreUrl] | to_entries[] | "[\(.key + 1)]: \(.value)"' + fi + ''; + }; + }; + confuse = { pattern = "!confuse (.*)$"; activate = "match"; @@ -322,6 +361,7 @@ let } bedger-add bedger-balance + bing hooks.sed interrogate say |