#!/bin/bash set -euo pipefail set -x send() { local _msg=$1 if [[ -z $_msg ]]; then return fi curl -X POST \ -H "Content-Type: application/json" \ -d "{\"content\":\"\`\`\`diff\n$_msg\`\`\`\"}" \ "$DISCORD_WEBHOOK" } msg="" while IFS= read -r line; do line="$(sed 's@"@\\"@g' <<< "$line")" # Json screening len="$(wc -m <<< "$msg$line")" if [[ $len -ge 1985 ]]; then send "$msg" msg="$line" else msg+="$line\\n" fi done send "$msg"