diff --git a/README.html b/README.html index 7ae04a6..eab66ba 100644 --- a/README.html +++ b/README.html @@ -1,64 +1,99 @@ - - + + - - + + Bashbot README - - + + - -

- Bashbot - A Telegram bot written in bash. + +

+Bashbot - A Telegram bot written in bash.

-

Written by Drew (@topkecleon), Daniil Gentili (@danogentili), and Kay M (@gnadelwartz).

+Written by Drew (@topkecleon), Daniil Gentili (@danogentili), and Kay M (@gnadelwartz). +

Contributions by JuanPotato, BigNerd95, TiagoDanin, and iicc1.

Released to the public domain wherever applicable. Elsewhere, consider it released under the WTFPLv2.

-

Prerequisites

+

Prerequisites

Uses JSON.sh, but no more TMUX.

Even bashbot is written in bash, it depends on commands typically availible in a Unix/Linux Environment. More concret on the common commands provided by coreutils, busybox or toybox, see Developer Notes

Bashbot Documentation and Downloads are availible on www.github.com

-

Documentation

+

Documentation

  • Examples Dir
  • -

    Your really first bashbot in a nutshell

    -

    To install and run bashbot you need acess to a linux/unix/bsd command line. If you don’t know how to get accces to a linux/unix/bsd like command line you should stop reading here :-(

    -

    In addition you need a Telegram client and a mobile phone to register an account. If you don’t want to register for Telegram you should stop reading here ;-)

    -

    After you’re registered to Telegram send a message to [@botfather](https://telegram.me/botfather), create a new Telegram Bot token and write it down. You need the token to install the bot.

    -

    Now open a linux/unix/bsd terminal and check if bash is installed: which bash && echo "bash installed!". If you get an error message bash is not installed.

    -

    Create a new directory and change to it: mkdir tbb; cd tbb and download the latest ’*.tar.gz’ file from https://github.com/topkecleon/telegram-bot-bash/releases. This can be done with the commands:

    -
    wget -q https://github.com/$(wget -q https://github.com/topkecleon/telegram-bot-bash/releases/latest -O - | egrep '/.*/.*/.*tar.gz' -o)
    -

    Extract the ’*.tar.gz’ file and change to bashbot directory: tar -xzf *.tar.gz; cd telegram-bot-bash, install bashbot: ./bashbot.sh init and enter your bot token when asked. All other questions can be answered by hitting the <Return> key.

    +

    Your really first bashbot in a nutshell

    +

    To install and run bashbot you need acess to a linux/unix/bsd command line. If you don't know how to get accces to a linux/unix/bsd like command line you should stop reading here :-(

    +

    In addition you need a Telegram client and a mobile phone to register an account. If you don't want to register for Telegram you should stop reading here ;-)

    +

    After you're registered to Telegram send a message to @botfather, create a new Telegram Bot token and write it down. You need the token to install the bot.

    +

    Now open a linux/unix/bsd terminal and check if bash is installed: which bash && echo "bash installed!". If you get an error message bash is not installed.

    +

    Create a new directory and change to it: mkdir tbb; cd tbb and download the latest '*.tar.gz' file from https://github.com/topkecleon/telegram-bot-bash/releases. This can be done with the commands:

    +
    wget -q https://github.com/$(wget -q https://github.com/topkecleon/telegram-bot-bash/releases/latest -O - | egrep '/.*/.*/.*tar.gz' -o)
    +

    Extract the '*.tar.gz' file and change to bashbot directory: tar -xzf *.tar.gz; cd telegram-bot-bash, install bashbot: ./bashbot.sh init and enter your bot token when asked. All other questions can be answered by hitting the <Return> key.

    Thats all, now you can start your bot with ./bashbot.sh start and send him messages:

    /start
     
    @@ -134,59 +169,60 @@ You are Botadmin
     /info
     
     his is bashbot, the Telegram bot written entirely in bash.
    -It features background tasks and interactive chats, and can serve as an interface for CLI programs.
    +It features background tasks and interactive chats, and can serve as an interface for CLI programs. +

    For more Information on how to install, customize and use your new bot, read the Documentation


    -

    Security Considerations

    +

    Security Considerations

    Running a Telegram Bot means it is connected to the public and you never know whats send to your Bot.

    -

    Bash scripts in general are not designed to be bullet proof, so consider this Bot as a proof of concept. Bash programmers often struggle with ‘quoting hell’ and globbing, see Implications of wrong quoting

    -

    Whenever you are processing input from from untrusted sources (messages, files, network) you must be as carefull as possible, e.g. set IFS appropriate, disable globbing (set -f) and quote everthing. In addition delete unused scripts and examples from your Bot, e.g. scripts ‘notify’, ‘calc’, ‘question’, and disable all not used commands.

    -

    A powerful tool to improve your scripts is shellcheck. You can use it online or install shellcheck locally. Shellcheck is used extensive in bashbot development to enshure a high code quality, e.g. it’s not allowed to push changes without passing all shellcheck tests. In addition bashbot has a test suite to check if important functionality is working as expected.

    -

    Run your Bot as a restricted user

    +

    Bash scripts in general are not designed to be bullet proof, so consider this Bot as a proof of concept. Bash programmers often struggle with 'quoting hell' and globbing, see Implications of wrong quoting

    +

    Whenever you are processing input from from untrusted sources (messages, files, network) you must be as carefull as possible, e.g. set IFS appropriate, disable globbing (set -f) and quote everthing. In addition delete unused scripts and examples from your Bot, e.g. scripts 'notify', 'calc', 'question', and disable all not used commands.

    +

    A powerful tool to improve your scripts is shellcheck. You can use it online or install shellcheck locally. Shellcheck is used extensive in bashbot development to enshure a high code quality, e.g. it's not allowed to push changes without passing all shellcheck tests. In addition bashbot has a test suite to check if important functionality is working as expected.

    +

    Run your Bot as a restricted user

    I recommend to run your bot as a user, with almost no access rights. All files your Bot have write access to are in danger to be overwritten/deleted if your bot is hacked. For the same reason ervery file your Bot can read is in danger to be disclosed. Restict your Bots access rigths to the absolute minimum.

    -

    Never run your Bot as root, this is the most dangerous you can do! Usually the user ‘nobody’ has almost no rights on Unix/Linux systems. See Expert use on how to run your Bot as an other user.

    -

    Secure your Bot installation

    +

    Never run your Bot as root, this is the most dangerous you can do! Usually the user 'nobody' has almost no rights on Unix/Linux systems. See Expert use on how to run your Bot as an other user.

    +

    Secure your Bot installation

    Your Bot configuration must no be readable from other users. Everyone who can read your Bots token can act as your Bot and has access to all chats your Bot is in!

    Everyone with read access to your Bot files can extract your Bots data. Especially your Bot Token in token must be protected against other users. No one exept you must have write access to the Bot files. The Bot must be restricted to have write access to count and tmp-bot-bash only, all other files must be write protected.

    To set access rights for your bashbot installation to a reasonable default run sudo ./bashbot.sh init after every update or change to your installation directory.

    -

    FAQ

    -

    Is this Bot insecure?

    -

    Bashbot is not more (in)secure as any other Bot written in any other language, we have done our best to make it as secure as possible. But YOU are responsible for the bot commands you wrote and you should know about the risks …

    -

    Why Bash and not the much better xyz?

    -

    Well, thats a damn good question … may be because I’m an Unix/Linux admin from stone age. Nevertheless there are more reasons from my side:

    +

    FAQ

    +

    Is this Bot insecure?

    +

    Bashbot is not more (in)secure as any other Bot written in any other language, we have done our best to make it as secure as possible. But YOU are responsible for the bot commands you wrote and you should know about the risks ...

    +

    Why Bash and not the much better xyz?

    +

    Well, thats a damn good question ... may be because I'm an Unix/Linux admin from stone age. Nevertheless there are more reasons from my side:

    -

    Can I have the single bashbot.sh file back?

    -

    At the beginning bashbot was simply the file bashbot.sh you can copy everywhere and run the bot. Now we have ‘commands.sh’, ‘mycommands.sh’, ’modules/*.sh’ and much more.

    -

    Hey no Problem, if you are finished with your cool bot run dev/make-standalone.sh to create a stripped down Version of your bot containing only ‘bashbot.sh’ and ‘commands.sh’! For more information see Create a stripped down Version of your Bot

    -

    Can I send messages from CLI and scripts?

    -

    Of course, you can send messages from CLI and scripts, simply install bashbot as described here, send the messsage ‘/start’ to set yourself as botadmin and stop the bot with ./bashbot.sh kill.

    +

    Can I have the single bashbot.sh file back?

    +

    At the beginning bashbot was simply the file bashbot.sh you can copy everywhere and run the bot. Now we have 'commands.sh', 'mycommands.sh', 'modules/*.sh' and much more.

    +

    Hey no Problem, if you are finished with your cool bot run dev/make-standalone.sh to create a stripped down Version of your bot containing only 'bashbot.sh' and 'commands.sh'! For more information see Create a stripped down Version of your Bot

    +

    Can I send messages from CLI and scripts?

    +

    Of course, you can send messages from CLI and scripts, simply install bashbot as described here, send the messsage '/start' to set yourself as botadmin and stop the bot with ./bashbot.sh kill.

    Run the following commands in your bash shell or script while you are in the installation directory:

    -
    # prepare bash / script to send commands
    -export BASHBOT_HOME="$(pwd)"
    -source ./bashbot.sh source
    -
    -# send me a test message
    -send_message "$(cat "$BOTADMIN")" "test"
    -
    -# send me output of a system command
    -send_message "$(<"$BOTADMIN")" "$(df -h)"
    +
    # prepare bash / script to send commands
    +export BASHBOT_HOME="$(pwd)"
    +source ./bashbot.sh source
    +
    +# send me a test message
    +send_message "$(cat "$BOTADMIN")" "test"
    +
    +# send me output of a system command
    +send_message "$(<"$BOTADMIN")" "$(df -h)"

    For more information see Expert Use

    -

    Why do I get “EXPECTED value GOT EOF” on start?

    +

    Why do I get "EXPECTED value GOT EOF" on start?

    May be your IP is blocked by telegram. You can test this by running curl or wget manually:

    -
    curl -m 10  https://api.telegram.org/bot
    -#curl: (28) Connection timed out after 10001 milliseconds
    -
    -wget -t 1 -T 10 https://api.telegram.org/bot
    -#Connecting to api.telegram.org (api.telegram.org)|46.38.243.234|:443... failed: Connection timed out.
    -

    This may happen if to many wrong requests are sent to api.telegram.org, e.g. using a wrong token or not existing API calls. If you have a fixed IP you can ask telegram service to unblock your ip or change your IP. If you are running a tor proxy on your server you may uncomment the BASHBOT_CURL_ARGS line in ‘mycommands.sh’

    -

    @Gnadelwartz

    -

    That’s it!

    -

    If you feel that there’s something missing or if you found a bug, feel free to submit a pull request!

    -


    VERSION
    v0.91-0-g31808a9

    +
    curl -m 10  https://api.telegram.org/bot
    +#curl: (28) Connection timed out after 10001 milliseconds
    +
    +wget -t 1 -T 10 https://api.telegram.org/bot
    +#Connecting to api.telegram.org (api.telegram.org)|46.38.243.234|:443... failed: Connection timed out.
    +

    This may happen if to many wrong requests are sent to api.telegram.org, e.g. using a wrong token or not existing API calls. If you have a fixed IP you can ask telegram service to unblock your ip or change your IP. If you are running a tor proxy on your server you may uncomment the BASHBOT_CURL_ARGS line in 'mycommands.sh'

    +

    @Gnadelwartz

    +

    That's it!

    +

    If you feel that there's something missing or if you found a bug, feel free to submit a pull request!

    +

    $$VERSION$$ v0.94-dev2-0-g3d636f7

    diff --git a/README.md b/README.md index b2497f7..d7194b0 100644 --- a/README.md +++ b/README.md @@ -180,4 +180,4 @@ This may happen if to many wrong requests are sent to api.telegram.org, e.g. usi If you feel that there's something missing or if you found a bug, feel free to submit a pull request! -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 diff --git a/README.txt b/README.txt index 997164a..b5f50df 100644 --- a/README.txt +++ b/README.txt @@ -253,4 +253,4 @@ tor proxy on your server you may uncomment the ```BASHBOT_CURL_ARGS``` line in If you feel that there's something missing or if you found a bug, feel free to submit a pull request! -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 diff --git a/addons/antiFlood.sh b/addons/antiFlood.sh index e16532e..c46e591 100644 --- a/addons/antiFlood.sh +++ b/addons/antiFlood.sh @@ -4,7 +4,7 @@ # this addon counts how many files, e.g. stickers, are sent to # a chat and takes actions if threshold is reached # -#### $$VERSION$$ v0.94-dev2-1-gaec6de0 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # used events: # diff --git a/addons/example.sh b/addons/example.sh index b42cf89..5ba50de 100644 --- a/addons/example.sh +++ b/addons/example.sh @@ -4,7 +4,7 @@ # Addons can register to bashbot events at statup # by providing their name and a callback per event # -#### $$VERSION$$ v0.91-6-g9b9125c +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # # If an event occours each registered event function is called. # diff --git a/bashbot.rc b/bashbot.rc index 86081db..1e0d907 100755 --- a/bashbot.rc +++ b/bashbot.rc @@ -1,7 +1,7 @@ #!/bin/sh # description: Start or stop telegram-bash-bot # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # shellcheck disable=SC2009 # shellcheck disable=SC2181 diff --git a/bashbot.sh b/bashbot.sh index 26d0a93..dd5c524 100755 --- a/bashbot.sh +++ b/bashbot.sh @@ -11,7 +11,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # -#### $$VERSION$$ v0.94-dev2-6-g7843de5 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # # Exit Codes: # - 0 sucess (hopefully) diff --git a/commands.sh b/commands.sh index d0a681b..f1e1b8b 100644 --- a/commands.sh +++ b/commands.sh @@ -5,7 +5,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # # adjust your language setting here, e.g.when run from other user or cron. diff --git a/dev/all-tests.sh b/dev/all-tests.sh index c6357e4..35cf153 100755 --- a/dev/all-tests.sh +++ b/dev/all-tests.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # this has to run once atfer git clone # and every time we create new hooks -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # magic to ensure that we're always inside the root of our application, # no matter from which directory we'll run script diff --git a/dev/git-add.sh b/dev/git-add.sh index 6fa752d..f333efd 100755 --- a/dev/git-add.sh +++ b/dev/git-add.sh @@ -3,7 +3,7 @@ # # works together with git pre-push.sh and ADD all changed files since last push -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # magic to ensure that we're always inside the root of our application, # no matter from which directory we'll run script diff --git a/dev/hooks/pre-commit.sh b/dev/hooks/pre-commit.sh index a7f75f5..c79c5e0 100755 --- a/dev/hooks/pre-commit.sh +++ b/dev/hooks/pre-commit.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 ############ # NOTE: you MUST run install-hooks.sh again when updating this file! diff --git a/dev/hooks/pre-push.sh b/dev/hooks/pre-push.sh index e67163e..61d09a4 100755 --- a/dev/hooks/pre-push.sh +++ b/dev/hooks/pre-push.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 ############ # NOTE: you MUST run install-hooks.sh again when updating this file! diff --git a/dev/install-hooks.sh b/dev/install-hooks.sh index 8f6ea55..794f03a 100755 --- a/dev/install-hooks.sh +++ b/dev/install-hooks.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # this has to run once atfer git clone # and every time we create new hooks -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # magic to ensure that we're always inside the root of our application, # no matter from which directory we'll run script diff --git a/dev/make-distribution.sh b/dev/make-distribution.sh index 8b2efd0..a7126ff 100755 --- a/dev/make-distribution.sh +++ b/dev/make-distribution.sh @@ -2,7 +2,7 @@ # file: make-distribution.sh # creates files and arcchives to dirtribute bashbot # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # magic to ensure that we're always inside the root of our application, # no matter from which directory we'll run script @@ -54,8 +54,8 @@ fi # make html doc mkdir html 2>/dev/null cp README.html html/index.html -find doc -iname "*.md" -type f -exec sh -c 'pandoc -s -S -M "title=Bashobot Documentation - ${0%.md}.html" "${0}" -o "./html/$(basename ${0%.md}.html)"' {} \; -find examples -iname "*.md" -type f -exec sh -c 'pandoc -s -S -M "title=Bashobot Documentation - ${0%.md}.html" "${0}" -o "${0%.md}.html"' {} \; +find doc -iname "*.md" -type f -exec sh -c 'pandoc -s -f commonmark -M "title=Bashobot Documentation - ${0%.md}.html" "${0}" -o "./html/$(basename ${0%.md}.html)"' {} \; +find examples -iname "*.md" -type f -exec sh -c 'pandoc -s -f commonmark -M "title=Bashobot Documentation - ${0%.md}.html" "${0}" -o "${0%.md}.html"' {} \; find README.html html examples -iname "*.html" -type f -exec sh -c 'sed -i -E "s/href=\"(\.\.\/)*doc\//href=\"\1html\//g;s/href=\"(.*).md(#.*)*\"/href=\"\1.html\"/g" ${0}' {} \; # create archive diff --git a/dev/make-standalone.sh b/dev/make-standalone.sh index c889236..12552b9 100755 --- a/dev/make-standalone.sh +++ b/dev/make-standalone.sh @@ -5,7 +5,7 @@ # If you your bot is finished you can use make-standalone.sh to create the # the old all-in-one bashbot: bashbot.sh and commands.sh only! # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # magic to ensure that we're always inside the root of our application, # no matter from which directory we'll run script diff --git a/dev/shellcheck.files b/dev/shellcheck.files index e617e65..57eae4e 100644 --- a/dev/shellcheck.files +++ b/dev/shellcheck.files @@ -1,3 +1,3 @@ # list of additional files to check from shellcheck -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 bashbot.rc diff --git a/dev/version.sh b/dev/version.sh index 9788732..49802fe 100755 --- a/dev/version.sh +++ b/dev/version.sh @@ -1,6 +1,6 @@ #!/bin/bash # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # shellcheck disable=SC2016 # # Easy Versioning in git: @@ -61,7 +61,7 @@ do done # try to compile README.txt echo -n " README.txt" >&2 -type -f pandoc >/dev/null && pandoc -s -S -M "title=Bashbot README" README.md >README.html +type -f pandoc >/dev/null && pandoc -s -f commonmark -M "title=Bashbot README" README.md >README.html fold -s README.md >README.txt echo " done." diff --git a/doc/0_install.md b/doc/0_install.md index 7aeb6bf..78e831b 100644 --- a/doc/0_install.md +++ b/doc/0_install.md @@ -87,5 +87,5 @@ The old format is supported for backward compatibility, but may fail for corner #### [Next Create Bot](1_firstbot.md) -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 diff --git a/doc/1_firstbot.md b/doc/1_firstbot.md index 9739302..6a8e9d8 100644 --- a/doc/1_firstbot.md +++ b/doc/1_firstbot.md @@ -65,5 +65,5 @@ group. This step is up to you actually. #### [Prev Installation](0_install.md) #### [Next Getting started](2_usage.md) -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 diff --git a/doc/2_usage.md b/doc/2_usage.md index 8f5e52a..2cff694 100644 --- a/doc/2_usage.md +++ b/doc/2_usage.md @@ -223,5 +223,5 @@ send_action "${CHAT[ID]}" "action" #### [Prev Create Bot](1_firstbot.md) #### [Next Advanced Usage](3_advanced.md) -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 diff --git a/doc/3_advanced.md b/doc/3_advanced.md index 55bc7df..d33dd33 100644 --- a/doc/3_advanced.md +++ b/doc/3_advanced.md @@ -180,5 +180,5 @@ See also [answer_inline_multi, answer_inline_compose](6_reference.md#answer_inli #### [Prev Getting started](2_usage.md) #### [Next Expert Use](4_expert.md) -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 diff --git a/doc/4_expert.md b/doc/4_expert.md index c080fa9..2059d70 100644 --- a/doc/4_expert.md +++ b/doc/4_expert.md @@ -348,5 +348,5 @@ for every poll until the maximum of BASHBOT_SLEEP ms. #### [Prev Advanced Use](3_advanced.md) #### [Next Best Practice](5_practice.md) -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 diff --git a/doc/5_practice.md b/doc/5_practice.md index 5d4ae44..4243ccb 100644 --- a/doc/5_practice.md +++ b/doc/5_practice.md @@ -152,5 +152,5 @@ The second warning is about an unused variable, this is true because in our exam #### [Prev Best Practice](5_practice.md) #### [Next Functions Reference](6_reference.md) -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 diff --git a/doc/6_reference.md b/doc/6_reference.md index d590ffe..f1850a4 100644 --- a/doc/6_reference.md +++ b/doc/6_reference.md @@ -889,5 +889,5 @@ The name of your bot is availible as bash variable "$ME", there is no need to ca #### [Prev Best Practice](5_practice.md) #### [Next Notes for Developers](7_develop.md) -#### $$VERSION$$ v0.94-dev2-3-ga7769ad +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 diff --git a/doc/7_develop.md b/doc/7_develop.md index 65c86f0..386a2a1 100644 --- a/doc/7_develop.md +++ b/doc/7_develop.md @@ -321,5 +321,5 @@ fi #### [Prev Function Reference](6_reference.md) -#### $$VERSION$$ v0.94-dev2-2-gce60555 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 diff --git a/examples/README.md b/examples/README.md index 0192de9..81d31f4 100644 --- a/examples/README.md +++ b/examples/README.md @@ -55,6 +55,6 @@ convert existing bots. **external-use** will contain some examples on how to send messages from external scripts to Telegram chats or users. -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 diff --git a/examples/background-scripts/run_diskusage.sh b/examples/background-scripts/run_diskusage.sh index 5ae0ea8..7e71cad 100755 --- a/examples/background-scripts/run_diskusage.sh +++ b/examples/background-scripts/run_diskusage.sh @@ -4,7 +4,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # adjust your language setting here # https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment diff --git a/examples/background-scripts/run_filecontent.sh b/examples/background-scripts/run_filecontent.sh index 7e7a999..bedf5ea 100755 --- a/examples/background-scripts/run_filecontent.sh +++ b/examples/background-scripts/run_filecontent.sh @@ -2,7 +2,7 @@ # file: run_filename # background job to display content of all new files in WATCHDIR # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # adjust your language setting here # https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment diff --git a/examples/background-scripts/run_filename.sh b/examples/background-scripts/run_filename.sh index 8d76e2c..3626c75 100755 --- a/examples/background-scripts/run_filename.sh +++ b/examples/background-scripts/run_filename.sh @@ -2,7 +2,7 @@ # file: run_filename # background job to display all new files in WATCHDIR # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # adjust your language setting here # https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment diff --git a/examples/background-scripts/run_notify.sh b/examples/background-scripts/run_notify.sh index b6d8dcb..5300530 100755 --- a/examples/background-scripts/run_notify.sh +++ b/examples/background-scripts/run_notify.sh @@ -4,7 +4,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # adjust your language setting here # https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment diff --git a/examples/bashbot-multi.sh b/examples/bashbot-multi.sh index 6a65a76..3a7bfcc 100755 --- a/examples/bashbot-multi.sh +++ b/examples/bashbot-multi.sh @@ -2,7 +2,7 @@ # file. multibot.sh # description: run multiple telegram bots from one installation # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 if [ "${2}" = "" ] || [ "${2}" = "-h" ]; then echo "Usage: $0 botname command" diff --git a/examples/bashbot.cron b/examples/bashbot.cron index 2e475d6..f56f2ff 100644 --- a/examples/bashbot.cron +++ b/examples/bashbot.cron @@ -7,7 +7,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 SHELL=/bin/sh diff --git a/examples/calc.sh b/examples/calc.sh index 1c766c9..f6d26a3 100755 --- a/examples/calc.sh +++ b/examples/calc.sh @@ -5,7 +5,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # adjust your language setting here # https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment diff --git a/examples/notify.sh b/examples/notify.sh index e73c933..2c8c54f 100755 --- a/examples/notify.sh +++ b/examples/notify.sh @@ -4,7 +4,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # adjust your language setting here # https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment diff --git a/examples/question.sh b/examples/question.sh index 3c363ba..f32ef49 100755 --- a/examples/question.sh +++ b/examples/question.sh @@ -5,7 +5,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # adjust your language setting here # https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment diff --git a/examples/send-system-status/botacl b/examples/send-system-status/botacl index c21919b..d4706c1 100644 --- a/examples/send-system-status/botacl +++ b/examples/send-system-status/botacl @@ -1,7 +1,7 @@ # file: botacl # a user not listed here, will return false from 'user_is_allowed' # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # Format: # user:ressource:chat diff --git a/examples/send-system-status/mycommands.sh b/examples/send-system-status/mycommands.sh index 96aa708..5d8c1b5 100644 --- a/examples/send-system-status/mycommands.sh +++ b/examples/send-system-status/mycommands.sh @@ -5,7 +5,7 @@ # to show how you can customize bashbot by only editing mycommands.sh # NOTE: this is not tested, simply copied from original source and reworked! # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # # shellcheck disable=SC2154 # shellcheck disable=SC2034 diff --git a/modules/aliases.sh b/modules/aliases.sh index 21df061..074971c 100644 --- a/modules/aliases.sh +++ b/modules/aliases.sh @@ -5,7 +5,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # # source from commands.sh to use the aliases diff --git a/modules/answerInline.sh b/modules/answerInline.sh index cec5cfb..0c1e0d1 100644 --- a/modules/answerInline.sh +++ b/modules/answerInline.sh @@ -5,7 +5,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # source from commands.sh to use the inline functions diff --git a/modules/background.sh b/modules/background.sh index 37e5932..ad21fbc 100644 --- a/modules/background.sh +++ b/modules/background.sh @@ -5,7 +5,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # source from commands.sh if you want ro use interactive or background jobs diff --git a/modules/chatMember.sh b/modules/chatMember.sh index 9ff643e..6b2487d 100644 --- a/modules/chatMember.sh +++ b/modules/chatMember.sh @@ -5,7 +5,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # source from commands.sh to use the member functions diff --git a/modules/jsonDB.sh b/modules/jsonDB.sh index be4483e..7867b7e 100644 --- a/modules/jsonDB.sh +++ b/modules/jsonDB.sh @@ -5,7 +5,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # -#### $$VERSION$$ v0.91-5-g55c9d8b +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # # source from commands.sh to use jsonDB functions # diff --git a/modules/sendMessage.sh b/modules/sendMessage.sh index d3fbba5..2088d21 100644 --- a/modules/sendMessage.sh +++ b/modules/sendMessage.sh @@ -5,7 +5,7 @@ # This file is public domain in the USA and all free countries. # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # source from commands.sh to use the sendMessage functions diff --git a/mycommands.sh b/mycommands.sh index 9a7c815..6cebf22 100644 --- a/mycommands.sh +++ b/mycommands.sh @@ -2,7 +2,7 @@ # files: mycommands.sh.dist # copy to mycommands.sh and add all your commands and functions here ... # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # # uncomment the following lines to overwrite info and help messages diff --git a/test/ADD-test-new.sh b/test/ADD-test-new.sh index 5f22c3a..368f95c 100755 --- a/test/ADD-test-new.sh +++ b/test/ADD-test-new.sh @@ -2,7 +2,7 @@ # # ADD a new test skeleton to test dir, but does not activate test # -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # magic to ensure that we're always inside the root of our application, # no matter from which directory we'll run script diff --git a/test/ALL-tests.inc.sh b/test/ALL-tests.inc.sh index fe57d56..203d590 100644 --- a/test/ALL-tests.inc.sh +++ b/test/ALL-tests.inc.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # common variables export TESTME DIRME TESTDIR LOGFILE REFDIR TESTNAME diff --git a/test/a-commit-test.sh b/test/a-commit-test.sh index 6c6558b..9f4c534 100755 --- a/test/a-commit-test.sh +++ b/test/a-commit-test.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 ../dev/hooks/pre-commit.sh diff --git a/test/b-example-test.sh b/test/b-example-test.sh index 3632e6e..a8d602b 100644 --- a/test/b-example-test.sh +++ b/test/b-example-test.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # file: b-example-test.sh -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # include common functions and definitions # shellcheck source=test/ALL-tests.inc.sh diff --git a/test/c-init-test.sh b/test/c-init-test.sh index f9e0d51..9774c30 100755 --- a/test/c-init-test.sh +++ b/test/c-init-test.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # include common functions and definitions # shellcheck source=test/ALL-tests.inc.sh diff --git a/test/d-JSON.sh-test.sh b/test/d-JSON.sh-test.sh index 90436cf..174b497 100755 --- a/test/d-JSON.sh-test.sh +++ b/test/d-JSON.sh-test.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # include common functions and definitions # shellcheck source=test/ALL-tests.inc.sh diff --git a/test/d-process_inline-test.sh b/test/d-process_inline-test.sh index ff2bf97..a160841 100755 --- a/test/d-process_inline-test.sh +++ b/test/d-process_inline-test.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # include common functions and definitions # shellcheck source=test/ALL-tests.inc.sh diff --git a/test/d-process_message-test.sh b/test/d-process_message-test.sh index 131b46b..de20666 100755 --- a/test/d-process_message-test.sh +++ b/test/d-process_message-test.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # include common functions and definitions # shellcheck source=test/ALL-tests.inc.sh diff --git a/test/d-send_message-test.sh b/test/d-send_message-test.sh index f1f8e6b..40765f5 100755 --- a/test/d-send_message-test.sh +++ b/test/d-send_message-test.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # include common functions and definitions # shellcheck source=test/ALL-tests.inc.sh diff --git a/test/d-user_is-test.sh b/test/d-user_is-test.sh index b4d571c..10481e9 100755 --- a/test/d-user_is-test.sh +++ b/test/d-user_is-test.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # include common functions and definitions # shellcheck source=test/ALL-tests.inc.sh diff --git a/test/e-env-test.sh b/test/e-env-test.sh index 1e67573..7b75973 100755 --- a/test/e-env-test.sh +++ b/test/e-env-test.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.91-0-g31808a9 +#### $$VERSION$$ v0.94-dev2-0-g3d636f7 # include common functions and definitions # shellcheck source=test/ALL-tests.inc.sh