diff options
-rw-r--r-- | lib/Command/Command/AddSamples.php | 26 | ||||
-rwxr-xr-x | sample-commands/calc.sh | 28 |
2 files changed, 54 insertions, 0 deletions
diff --git a/lib/Command/Command/AddSamples.php b/lib/Command/Command/AddSamples.php index bc7f43421..f1419f33f 100644 --- a/lib/Command/Command/AddSamples.php +++ b/lib/Command/Command/AddSamples.php @@ -76,6 +76,32 @@ class AddSamples extends Base { } try { + $this->service->find('', 'calculator'); + } catch (DoesNotExistException $e) { + $commands[] = $this->service->create( + '', + 'calculator', + 'Calculator', + $appPath . '/sample-commands/calc.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', + Command::RESPONSE_USER, + Command::ENABLED_ALL + ); + } + + try { + $this->service->find('', 'calc'); + } catch (DoesNotExistException $e) { + $commands[] = $this->service->create( + '', + 'calc', + 'Calculator', + 'alias:calculator', + Command::RESPONSE_ALL, + Command::ENABLED_ALL + ); + } + + try { $this->service->find('', 'hackernews'); } catch (DoesNotExistException $e) { $commands[] = $this->service->create( diff --git a/sample-commands/calc.sh b/sample-commands/calc.sh new file mode 100755 index 000000000..7ec3c6301 --- /dev/null +++ b/sample-commands/calc.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +while test $# -gt 0; do + case "$1" in + --help) + echo "/calc - A basic calculator for Nextcloud Talk based on gnu BC" + echo "See the official documentation for more information:" + echo "https://www.gnu.org/software/bc/manual/html_mono/bc.html" + echo " " + echo "Simple equations: /calc 3 + 4 * 5" + echo "Complex equations: /calc sin(3) + 3^3 * sqrt(5)" + exit 0 + ;; + *) + break + ;; + esac +done + +CALCULATOR=$(which "bc") +if ! [ -x "$CALCULATOR" ]; then + echo "Basic calculator package (bc) not found" + exit 1 +fi + + +set -f +echo "$@ =" +echo $(echo "$@" | bc) |