From f8427306456d1aed2658c22f7d6c5c36354631d4 Mon Sep 17 00:00:00 2001 From: "Kay Marquardt (Gnadelwartz)" Date: Mon, 8 Feb 2021 19:53:42 +0100 Subject: [PATCH] modules: fix ERROR description in error processing --- modules/sendMessage.sh | 44 +++++++++++++++++++++--------------------- mycommands.sh | 20 ++++++++++++++++++- 2 files changed, 41 insertions(+), 23 deletions(-) diff --git a/modules/sendMessage.sh b/modules/sendMessage.sh index d45c2a0..f3c8149 100644 --- a/modules/sendMessage.sh +++ b/modules/sendMessage.sh @@ -6,7 +6,7 @@ # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # # shellcheck disable=SC1117 -#### $$VERSION$$ v1.45-dev-12-g066274c +#### $$VERSION$$ v1.45-dev-13-g117255a # will be automatically sourced from bashbot @@ -38,63 +38,63 @@ send_normal_message() { fi done # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" } # $1 CHAT $2 message send_markdown_message() { _format_message_url "$1" "$2" ',"parse_mode":"markdown"' "${MSG_URL}" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" } # $1 CHAT $2 message send_markdownv2_message() { _markdownv2_message_url "$1" "$2" ',"parse_mode":"markdownv2"' "${MSG_URL}" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" } # $1 CHAT $2 message send_html_message() { _format_message_url "$1" "$2" ',"parse_mode":"html"' "${MSG_URL}" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" } # $1 CHAT $2 msg-id $3 message edit_normal_message() { _format_message_url "$1" "$3" ',"message_id":'"$2"'' "${EDIT_URL}" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" "$3" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" "$3" } # $1 CHAT $2 msg-id $3 message edit_markdown_message() { _format_message_url "$1" "$3" ',"message_id":'"$2"',"parse_mode":"markdown"' "${EDIT_URL}" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" "$3" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" "$3" } # $1 CHAT $2 msg-id $3 message edit_markdownv2_message() { _markdownv2_message_url "$1" "$3" ',"message_id":'"$2"',"parse_mode":"markdownv2"' "${EDIT_URL}" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" "$3" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" "$3" } # $1 CHAT $2 msg-id $3 message edit_html_message() { _format_message_url "$1" "$3" ',"message_id":'"$2"',"parse_mode":"html"' "${EDIT_URL}" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" "$3" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" "$3" } # $1 chat $2 mesage_id, $3 caption edit_message_caption() { sendJson "$1" '"message_id":'"$2"',"caption":"'"$3"'"' "${URL}/editMessageCaption" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" "$3" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" "$3" } @@ -138,7 +138,7 @@ send_keyboard() { # '"text":"$2", "reply_markup": {"keyboard": [ $3 ], "one_time_keyboard": true}' sendJson "$1" "${text}"', "reply_markup": {"keyboard": [ '"$3"' ] '"${one_time}"'}' "${MSG_URL}" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" } # $1 CHAT $2 message $3 remove @@ -153,7 +153,7 @@ remove_keyboard() { #JSON='"text":"$2", "reply_markup": {"remove_keyboard":true}' [[ -z "$2" || -n "$3" ]] && delete_message "$1" "${BOTSENT[ID]}" "nolog" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" } # buttons will specified as "texts @@ -199,7 +199,7 @@ edit_inline_keyboard() { # JSON='"message_id":"$2", "reply_markup": {"inline_keyboard": [ $3->[{"text":"text", "url":"url"}]<- ]}' sendJson "$1" '"message_id":'"$2"', "reply_markup": {"inline_keyboard": [ '"$3"' ]}' "${URL}/editMessageReplyMarkup" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" } @@ -208,7 +208,7 @@ send_inline_keyboard() { local text; text='"text":"'$(JsonEscape "$2")'"'; [ -z "$2" ] && text='"text":"..."' sendJson "$1" "${text}"', "reply_markup": {"inline_keyboard": [ '"$3"' ]}' "${MSG_URL}" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" "$3" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" "$3" } # $1 callback id, $2 text to show, alert if not empty @@ -222,7 +222,7 @@ answer_callback_query() { send_sticker() { sendJson "$1" '"sticker": "'"$2"'"' "${URL}/sendSticker" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" } @@ -287,7 +287,7 @@ send_file(){ BOTSENT[ERROR]="File not found: ${UPLOADDIR}/$2" fi;; esac - [ -n "${BASHBOTDEBUG}" ] && log_debug "upload_file: CHAT=$1 FILE=$2 MSG=${BOTSENT[ERROR]}" + [ -n "${BASHBOTDEBUG}" ] && log_debug "upload_file: CHAT=$1 FILE=$2 MSG=${BOTSENT[DESCRIPTION]}" return fi # file OK, let's continue @@ -342,7 +342,7 @@ send_action() { [ -z "$2" ] && return sendJson "$1" '"action": "'"$2"'"' "${URL}/sendChatAction" & # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" } # $1 chat $2 emoji “🎲”, “🎯”, “🏀”, “⚽”, “🎰" @@ -365,7 +365,7 @@ send_dice() { BOTSENT[RESULT]="${UPD["result,dice,value"]}" else # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" + processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" fi } @@ -374,7 +374,7 @@ send_location() { [ -z "$3" ] && return sendJson "$1" '"latitude": '"$2"', "longitude": '"$3"'' "${URL}/sendLocation" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" "$3" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" "$3" } # $1 CHAT $2 lat $3 long $4 title $5 address $6 foursquare id @@ -384,7 +384,7 @@ send_venue() { [ -n "$6" ] && add=', "foursquare_id": '"$6"'' sendJson "$1" '"latitude": '"$2"', "longitude": '"$3"', "address": "'"$5"'", "title": "'"$4"'"'"${add}" "${URL}/sendVenue" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" "$3" "$4" "$5" "$6" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" "$3" "$4" "$5" "$6" } @@ -397,7 +397,7 @@ forward_message() { [ -z "$3" ] && return sendJson "$1" '"from_chat_id": '"$2"', "message_id": '"$3"'' "${URL}/forwardMessage" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" "$3" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" "$3" } # $1 CHAT $2 from chat $3 from msg id @@ -405,7 +405,7 @@ copy_message() { [ -z "$3" ] && return sendJson "$1" '"from_chat_id": '"$2"', "message_id": '"$3"'' "${URL}/copyMessage" # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args - [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[ERROR]}" "$2" "$3" + [ -n "${BOTSENT[ERROR]}" ] && processError "${FUNCNAME[0]}" "${BOTSENT[ERROR]}" "$1" "" "${BOTSENT[DESCRIPTION]}" "$2" "$3" } # $1 CHAT $2 bashbot formatted message, see manual advanced usage diff --git a/mycommands.sh b/mycommands.sh index 2f53764..a08e360 100644 --- a/mycommands.sh +++ b/mycommands.sh @@ -295,6 +295,8 @@ else [ -f ".jssh" ] && printf "%s: %s\n" "$1" "Ups, found file \"${PWD:-.}/.jssh\"! ==========" } + ########################### + # example recover from telegram block function # called when bashbot send_xxx command failed because we can not connect to telegram # return 0 to retry, return non 0 to give up bashbotBlockRecover() { @@ -305,7 +307,22 @@ else return 1 } - # place your processing functions here + ########################### + # example error processing + # called when delete Message failed + # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args + bashbotError_delete_message() { + log_debug "errorProcessing for delete_message failed: ERR=$2 CHAT=$3 MSGID=$6 ERTXT=$5" + } + + # called when error 403 is returned (and no func processing) + # func="$1" err="$2" chat="$3" user="$4" emsg="$5" remaining args + bashbotError_403() { + log_debug "errorProcessing for error 403 in FUNC=$1 CHAT=$3 USER=${4:-no-user} MSGID=$6 ERTXT=$5" + } + + ########################### + # place your processing functions here -------------- # $1 search parameter my_image_search(){ @@ -321,3 +338,4 @@ else } fi +