mirror of
https://github.com/octoleo/telegram-bot-bash.git
synced 2024-12-01 19:13:52 +00:00
sendJson check chat is a number
This commit is contained in:
parent
2e24918beb
commit
8379a624e3
17
bashbot.sh
17
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-21-g4442382
|
#### $$VERSION$$ v1.2-dev2-22-g2e24918
|
||||||
#
|
#
|
||||||
# Exit Codes:
|
# Exit Codes:
|
||||||
# - 0 success (hopefully)
|
# - 0 success (hopefully)
|
||||||
@ -251,6 +251,7 @@ fi
|
|||||||
DEBUGLOG="${LOGDIR}/DEBUG.log"
|
DEBUGLOG="${LOGDIR}/DEBUG.log"
|
||||||
ERRORLOG="${LOGDIR}/ERROR.log"
|
ERRORLOG="${LOGDIR}/ERROR.log"
|
||||||
UPDATELOG="${LOGDIR}/BASHBOT.log"
|
UPDATELOG="${LOGDIR}/BASHBOT.log"
|
||||||
|
MESSAGELOG="${LOGDIR}/MESSAGE.log"
|
||||||
|
|
||||||
debug_checks "start SOURCE=${SOURCE:-no}" "$@"
|
debug_checks "start SOURCE=${SOURCE:-no}" "$@"
|
||||||
# read BOTTOKEN from bot database if not set
|
# read BOTTOKEN from bot database if not set
|
||||||
@ -441,12 +442,16 @@ if detect_curl ; then
|
|||||||
# usage: sendJson "chat" "JSON" "URL"
|
# usage: sendJson "chat" "JSON" "URL"
|
||||||
sendJson(){
|
sendJson(){
|
||||||
local json chat=""
|
local json chat=""
|
||||||
[ -n "${1}" ] && chat='"chat_id":'"${1}"','
|
if [ -n "${1}" ]; then
|
||||||
|
chat='"chat_id":'"${1}"','
|
||||||
|
[[ "${1}" == *[!0-9-]* ]] && chat="${chat} NAN" # chat id not a number!
|
||||||
|
fi
|
||||||
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
|
||||||
printf "%s: sendJson (curl) CHAT=%s JSON=%s URL=%s\n" "$(date)" "${1}" "${2:0:100}" "${3##*/}" >>"${UPDATELOG}"
|
printf "%s: sendJson (curl) CHAT=%s JSON=%s URL=%s\n" "$(date)" "${chat#*:}" "${2:0:100}" "${3##*/}" >>"${UPDATELOG}"
|
||||||
printf "=========== DEBUG sendJson ==========\n%s\n" "$("${JSONSHFILE}" -b -n <<<"${json}")" >>"${DEBUGLOG}"
|
printf "=========== DEBUG sendJson ==========\n%s\n" "$("${JSONSHFILE}" -b -n <<<"${json}" 2>&1)" >>"${MESSAGELOG}"
|
||||||
fi
|
fi
|
||||||
|
[[ "${chat}" == *"NAN" ]] && return
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
res="$("${BASHBOT_CURL}" -s -k ${BASHBOT_CURL_ARGS} -m "${TIMEOUT}"\
|
res="$("${BASHBOT_CURL}" -s -k ${BASHBOT_CURL_ARGS} -m "${TIMEOUT}"\
|
||||||
-d "${json}" -X POST "${3}" -H "Content-Type: application/json" | "${JSONSHFILE}" -b -n 2>/dev/null )"
|
-d "${json}" -X POST "${3}" -H "Content-Type: application/json" | "${JSONSHFILE}" -b -n 2>/dev/null )"
|
||||||
@ -539,7 +544,7 @@ sendJsonRetry(){
|
|||||||
sendJsonResult(){
|
sendJsonResult(){
|
||||||
local offset=0
|
local offset=0
|
||||||
BOTSENT=( )
|
BOTSENT=( )
|
||||||
[ -n "${BASHBOTDEBUG}" ] && printf "\n%s: New Result ==========\n%s\n" "$(date)" "$1" >>"${LOGDIR}/MESSAGE.log"
|
[ -n "${BASHBOTDEBUG}" ] && printf "\n%s: New Result ==========\n%s\n" "$(date)" "$1" >>"${MESSAGELOG}"
|
||||||
BOTSENT[OK]="$(JsonGetLine '"ok"' <<< "${1}")"
|
BOTSENT[OK]="$(JsonGetLine '"ok"' <<< "${1}")"
|
||||||
if [ "${BOTSENT[OK]}" = "true" ]; then
|
if [ "${BOTSENT[OK]}" = "true" ]; then
|
||||||
BOTSENT[ID]="$(JsonGetValue '"result","message_id"' <<< "${1}")"
|
BOTSENT[ID]="$(JsonGetValue '"result","message_id"' <<< "${1}")"
|
||||||
@ -668,7 +673,7 @@ process_client() {
|
|||||||
local num="$1" debug="$2"
|
local num="$1" debug="$2"
|
||||||
pre_process_message "${num}"
|
pre_process_message "${num}"
|
||||||
# log message on debug
|
# log message on debug
|
||||||
[[ -n "${debug}" ]] && printf "\n%s: New Message ==========\n%s\n" "$(date)" "$UPDATE" >>"${LOGDIR}/MESSAGE.log"
|
[[ -n "${debug}" ]] && printf "\n%s: New Message ==========\n%s\n" "$(date)" "$UPDATE" >>"${MESSAGELOG}"
|
||||||
|
|
||||||
# check for users / groups to ignore
|
# check for users / groups to ignore
|
||||||
jssh_updateArray_async "BASHBOTBLOCKED" "${BLOCKEDFILE}"
|
jssh_updateArray_async "BASHBOTBLOCKED" "${BLOCKEDFILE}"
|
||||||
|
Loading…
Reference in New Issue
Block a user