REMOTE_DOCKER_IMAGE="freqtradeorg/freqtrade:stable_freqairl"
echo_timestamped() {
- command echo "$(date +"%Y-%m-%d %H:%M:%S") - $*"
+ printf '%s - %s\n' "$(date +"%Y-%m-%d %H:%M:%S")" "$*"
}
LOCKFILE="/tmp/docker-upgrade.lock"
if (out ~ /^[[:space:]]*$/) next
cur = out
if (have_prev){
- sub(/[[:space:]]*,[[:space:]]*([}\]])[[:space:]]*$/, "\\1", prev)
+ sub(/,[[:space:]]*\}[[:space:]]*$/, "}", prev)
+ sub(/,[[:space:]]*\][[:space:]]*$/, "]", prev)
if (prev ~ /,[[:space:]]*$/ && cur ~ /^[[:space:]]*[}\]]/) {
sub(/,[[:space:]]*$/, "", prev)
}
openval = (cur ~ /^[[:space:]]*[{[]/)
strval = (cur ~ /^[[:space:]]*"/) && !(key)
numval = (cur ~ /^[[:space:]]*-?[0-9]/)
- boolnull = (cur ~ /^[[:space:]]*(true|false|null)\b/)
+ boolnull = (cur ~ /^[[:space:]]*(true|false|null)([[:space:]]|,|]|\}|$)/)
prev_value_end = (prev ~ /[}\]][[:space:]]*$/) || (prev ~ /"[[:space:]]*$/) || (prev ~ /-?[0-9]+([.][0-9]+)?([eE][+-]?[0-9]+)?[[:space:]]*$/) || (prev ~ /(true|false|null)[[:space:]]*$/)
if (prev_value_end && (key || openval || strval || numval || boolnull)) {
prev = prev ","
}
END {
if (have_prev){
- sub(/[[:space:]]*,[[:space:]]*([}\]])[[:space:]]*$/, "\\1", prev)
+ sub(/,[[:space:]]*\}[[:space:]]*$/, "}", prev)
+ sub(/,[[:space:]]*\][[:space:]]*$/, "]", prev)
sub(/,[[:space:]]*$/, "", prev)
print prev
}
' "$1" | jq -c '.'
}
+escape_telegram_markdown() {
+ printf '%s' "$1" | sed \
+ -e 's/\\/\\\\/g' \
+ -e 's/[][(){}.*_~`>#\+=|.!-]/\\&/g'
+}
+
send_telegram_message() {
if [ -z "${FREQTRADE_CONFIG_JSON:-}" ]; then
FREQTRADE_CONFIG_JSON=$(jsonc_to_json "$FREQTRADE_CONFIG" 2>/dev/null || echo "")
return 0
fi
- telegram_message="$1"
+ telegram_message=$(escape_telegram_markdown "$1")
if [ -z "$telegram_message" ]; then
echo_timestamped "Error: message variable is empty"
return 1
if [ -n "$freqtrade_telegram_token" ] && [ -n "$freqtrade_telegram_chat_id" ]; then
curl_error=$(command curl -s -X POST \
--data-urlencode "text=${telegram_message}" \
- --data-urlencode "parse_mode=markdown" \
+ --data-urlencode "parse_mode=MarkdownV2" \
--data "chat_id=$freqtrade_telegram_chat_id" \
"https://api.telegram.org/bot${freqtrade_telegram_token}/sendMessage" 2>&1 1>/dev/null)
if [ $? -ne 0 ]; then