mirror of
https://github.com/octoleo/telegram-bot-bash.git
synced 2024-11-26 17:26:27 +00:00
add error respone for chat id not a nuber
This commit is contained in:
parent
8b9cb1a77e
commit
53c7879c9f
18
bashbot.sh
18
bashbot.sh
@ -11,7 +11,7 @@
|
|||||||
# This file is public domain in the USA and all free countries.
|
# This file is public domain in the USA and all free countries.
|
||||||
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
|
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
|
||||||
#
|
#
|
||||||
#### $$VERSION$$ v1.2-dev2-35-g16a2299
|
#### $$VERSION$$ v1.2-dev2-36-g8b9cb1a
|
||||||
#
|
#
|
||||||
# Exit Codes:
|
# Exit Codes:
|
||||||
# - 0 success (hopefully)
|
# - 0 success (hopefully)
|
||||||
@ -401,11 +401,15 @@ get_file() {
|
|||||||
# return TRUE if curl is found or custom curl detected
|
# return TRUE if curl is found or custom curl detected
|
||||||
# return FALSE if no curl is found or wget is forced by BASHBOT_WGET
|
# return FALSE if no curl is found or wget is forced by BASHBOT_WGET
|
||||||
# sets BASHBOT_CURL to point to curl
|
# sets BASHBOT_CURL to point to curl
|
||||||
|
DETECTED_CURL="curl"
|
||||||
function detect_curl() {
|
function detect_curl() {
|
||||||
# custom curl command
|
# custom curl command
|
||||||
[ -n "${BASHBOT_CURL}" ] && return 0
|
[ -n "${BASHBOT_CURL}" ] && return 0
|
||||||
# use wget
|
# use wget
|
||||||
[ -n "${BASHBOT_WGET}" ] && return 1
|
if [ -n "${BASHBOT_WGET}" ]; then
|
||||||
|
DETECTED_CURL="wget"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
# default use curl in PATH
|
# default use curl in PATH
|
||||||
BASHBOT_CURL="curl"
|
BASHBOT_CURL="curl"
|
||||||
_exists curl && return 0
|
_exists curl && return 0
|
||||||
@ -418,6 +422,7 @@ function detect_curl() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
# curl not in PATH and not in usual locations
|
# curl not in PATH and not in usual locations
|
||||||
|
DETECTED_CURL="wget"
|
||||||
local warn="Warning: Curl not detected, try fallback to wget! pls install curl or adjust BASHBOT_CURL/BASHBOT_WGET environment variables."
|
local warn="Warning: Curl not detected, try fallback to wget! pls install curl or adjust BASHBOT_CURL/BASHBOT_WGET environment variables."
|
||||||
log_update "${warn}"; [ -n "${BASHBOTDEBUG}" ] && log_debug "${warn}"
|
log_update "${warn}"; [ -n "${BASHBOTDEBUG}" ] && log_debug "${warn}"
|
||||||
return 1
|
return 1
|
||||||
@ -439,17 +444,22 @@ sendJson(){
|
|||||||
chat='"chat_id":'"${1}"','
|
chat='"chat_id":'"${1}"','
|
||||||
[[ "${1}" == *[!0-9-]* ]] && chat="${chat} NAN" # chat id not a number!
|
[[ "${1}" == *[!0-9-]* ]] && chat="${chat} NAN" # chat id not a number!
|
||||||
fi
|
fi
|
||||||
|
# compose final json
|
||||||
json='{'"${chat} $(iconv -f utf-8 -t utf-8 -c <<<"$2")"'}'
|
json='{'"${chat} $(iconv -f utf-8 -t utf-8 -c <<<"$2")"'}'
|
||||||
if [ -n "${BASHBOTDEBUG}" ] ; then
|
if [ -n "${BASHBOTDEBUG}" ] ; then
|
||||||
log_update "sendJson (curl) CHAT=${chat#*:} JSON=${2:0:100} URL=${3##*/}"
|
log_update "sendJson (curl) CHAT=${chat#*:} JSON=${2:0:100} URL=${3##*/}"
|
||||||
log_message "DEBUG sendJson ==========\n$("${JSONSHFILE}" -b -n <<<"${json}" 2>&1)"
|
log_message "DEBUG sendJson ==========\n$("${JSONSHFILE}" -b -n <<<"${json}" 2>&1)"
|
||||||
fi
|
fi
|
||||||
[[ "${chat}" == *"NAN" ]] && return # not a number
|
# not a number
|
||||||
|
if [[ "${chat}" == *"NAN" ]]; then
|
||||||
|
sendJsonResult "$(printf '["ok"]\tfalse\n["error_code"]\t400\n["description"]\t"Bad Request: chat id not a number"\n')"\
|
||||||
|
"sendJson (NAN)" "$@"
|
||||||
|
fi
|
||||||
# OK here we go ...
|
# OK here we go ...
|
||||||
# route to curl/wget specific function
|
# route to curl/wget specific function
|
||||||
res="$(sendJson_do "${json}" "${3}")"
|
res="$(sendJson_do "${json}" "${3}")"
|
||||||
# check telegram response
|
# check telegram response
|
||||||
sendJsonResult "${res}" "sendJson (curl)" "$@"
|
sendJsonResult "${res}" "sendJson (${DETECTED_CURL})" "$@"
|
||||||
[ -n "${BASHBOT_EVENT_SEND[*]}" ] && event_send "send" "${@}" &
|
[ -n "${BASHBOT_EVENT_SEND[*]}" ] && event_send "send" "${@}" &
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ Now you can restart your bashbot instances.
|
|||||||
wget -q https://github.com/$(wget -q https://github.com/topkecleon/telegram-bot-bash/releases/latest -O - | egrep '/.*/.*/.*tar.gz' -o)
|
wget -q https://github.com/$(wget -q https://github.com/topkecleon/telegram-bot-bash/releases/latest -O - | egrep '/.*/.*/.*tar.gz' -o)
|
||||||
```
|
```
|
||||||
|
|
||||||
### use JSON.awk
|
### use JSON.awk (beta)
|
||||||
|
|
||||||
[JSON.awk](https://github.com/step-/JSON.awk) is an awk port of `JSON.sh`, it provides the same functionality but is 5 times faster.
|
[JSON.awk](https://github.com/step-/JSON.awk) is an awk port of `JSON.sh`, it provides the same functionality but is 5 times faster.
|
||||||
Systems with `gnu awk` and `posix awk` as system default can use `JSON.awk` as drop in replacement.
|
Systems with `gnu awk` and `posix awk` as system default can use `JSON.awk` as drop in replacement.
|
||||||
@ -183,5 +183,5 @@ The old format is supported for backward compatibility, but may fail for corner
|
|||||||
|
|
||||||
#### [Next Create Bot](1_firstbot.md)
|
#### [Next Create Bot](1_firstbot.md)
|
||||||
|
|
||||||
#### $$VERSION$$ v1.2-dev2-25-gc084005
|
#### $$VERSION$$ v1.2-dev2-36-g8b9cb1a
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user