diff --git a/bin/process_update.sh b/bin/process_update.sh index 22b9898..98cb1f9 100755 --- a/bin/process_update.sh +++ b/bin/process_update.sh @@ -15,7 +15,7 @@ USAGE='process_update.sh [-h|--help] [debug] [/dev/null)" +# escape bash $ expansion bug +UPDATE="${UPDATE//$/\\$}" + # assign to bashbot ARRAY Json2Array 'UPD' <<<"${UPDATE}" diff --git a/modules/jsonDB.sh b/modules/jsonDB.sh index 34728ff..7bc2ddf 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$$ v1.45-dev-29-gd6f37af +#### $$VERSION$$ v1.45-dev-30-g8efbfca # # source from commands.sh to use jsonDB functions # diff --git a/modules/processUpdates.sh b/modules/processUpdates.sh index 3755115..a7aa58c 100644 --- a/modules/processUpdates.sh +++ b/modules/processUpdates.sh @@ -4,7 +4,7 @@ # File: processUpdates.sh # Note: DO NOT EDIT! this file will be overwritten on update # -#### $$VERSION$$ v1.45-dev-18-g193ca1e +#### $$VERSION$$ v1.45-dev-30-g8efbfca ################################################################## ############## @@ -47,6 +47,8 @@ delete_webhook() { process_multi_updates() { local max num debug="$1" max="$(grep -F ',"update_id"]' <<< "${UPDATE}" | tail -1 | cut -d , -f 2 )" + # escape bash $ expansion bug + UPDATE="${UPDATE//$/\\$}" Json2Array 'UPD' <<<"${UPDATE}" for ((num=0; num<=max; num++)); do process_update "${num}" "${debug}" @@ -345,8 +347,6 @@ get_updates(){ log_error "Recovered from timeout/broken/no connection, continue with telegram updates" # calculate next sleep interval ((nextsleep+= stepsleep , nextsleep= nextsleep>maxsleep ?maxsleep:nextsleep)) - # escape bash $ expansion bug - UPDATE="${UPDATE//$/\\$}" # warn if webhook is set if grep -q '^\["error_code"\] 409' <<<"${UPDATE}"; then [ "${OFFSET}" != "-999" ] && nextsleep="${stepsleep}"