From 40bbce90399b170f3c8d3d6d94ab360c5ddd7aa1 Mon Sep 17 00:00:00 2001 From: Dominika Liberda Date: Wed, 29 Sep 2021 16:49:55 +0200 Subject: [PATCH] * unescape some escaped text --- tg.sh | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/tg.sh b/tg.sh index d72c07c..1988def 100755 --- a/tg.sh +++ b/tg.sh @@ -7,6 +7,11 @@ function _escape_text() { sed 's/[][`~!@#$%^&*():;<>.,?\|{}=+-]/\\&/g' <<< "$1" } +# _unescape_text(input_text) +function _unescape_text() { + sed -E 's/\\/&lauraiscute/g;s/\\lauraiscute\\lauraiscute\\lauraiscute/\\/;s/\\lauraiscute//g' <<< "$1" +} + # tg_send(chat, text, file, type) function tg_send() { text="$(_escape_text "$2")" @@ -144,25 +149,25 @@ function tg_start() { event[message_id]="${_tmp[0]}" event[from_id]="${_tmp[1]}" event[from_is_bot]="${_tmp[2]}" - event[from_first_name]="${_tmp[3]}" - event[from_last_name]="${_tmp[4]}" + event[from_first_name]="$(_unescape_text "${_tmp[3]}")" + event[from_last_name]="$(_unescape_text "${_tmp[4]}")" event[from_username]="${_tmp[5]}" event[chat_id]="${_tmp[6]}" - event[chat_title]="${_tmp[7]}" + event[chat_title]="$(_unescape_text "${_tmp[7]}")" event[chat_type]="${_tmp[8]}" event[date]="${_tmp[9]}" - event[text]="${_tmp[10]}" + event[text]="$(_unescape_text "${_tmp[10]}")" if [[ "${_tmp[11]}" == "true" ]]; then event[reply]=true event[reply_message_id]="${_tmp[12]}" event[reply_from_id]="${_tmp[13]}" event[reply_from_is_bot]="${_tmp[14]}" - event[reply_from_first_name]="${_tmp[15]}" - event[reply_from_last_name]="${_tmp[16]}" + event[reply_from_first_name]="$(_unescape_text "${_tmp[15]}")" + event[reply_from_last_name]="$(_unescape_text "${_tmp[16]}")" event[reply_from_username]="${_tmp[17]}" event[reply_date]="${_tmp[18]}" - event[reply_text]="${_tmp[19]}" + event[reply_text]="$(_unescape_text "${_tmp[19]}")" else event[reply]=false fi @@ -180,8 +185,8 @@ function tg_start() { event[forward_id]="${_tmp[0]}" event[forward_is_bot]="${_tmp[1]}" - event[forward_first_name]="${_tmp[2]}" - event[forward_last_name]="${_tmp[3]}" + event[forward_first_name]="$(_unescape_text "${_tmp[2]}")" + event[forward_last_name]="$(_unescape_text "${_tmp[3]}")" event[forward_username]="${_tmp[4]}" event[forward_date]="${_tmp[5]}" unset _tmp @@ -237,8 +242,8 @@ function tg_start() { event[audio_duration]="${_tmp[0]}" event[file_name]="${_tmp[1]}" event[mime_type]="${_tmp[2]}" - event[title]="${_tmp[3]}" - event[performer]="${_tmp[4]}" + event[title]="$(_unescape_text "${_tmp[3]}")" + event[performer]="$(_unescape_text "${_tmp[4]}")" event[thumb_file_id]="${_tmp[5]}" event[thumb_file_unique_id]="${_tmp[6]}" event[thumb_width]="${_tmp[7]}" @@ -357,6 +362,5 @@ function tg_start() { done [[ ${#_events[@]} -gt 0 ]] && _update_id=$(jq 'select(.update_id != null) | .update_id' <<< "${_events[-1]}") [[ $_update_id != '' ]] && _offset=$((_update_id+1)) - echo $_offset done }