printf "Content-Type: text/plain\n\n" input=$(cat /dev/stdin) token=1493641835:AAGR7kLksUIjcrM-PXiVEM_yxLGqLGRWKZA cmd=($(jq -r '.message.text' <<< $input)) chat=$(jq -r '.message.chat.id' <<< $input) user=$(jq -r '.message.from.username' <<< $input) sendmsg(){ # Escape any special characters first, see https://0x0.st/NO7J. fmt=$(sed 's/[][`~!@#$%^&*()-_=+{}\|;:",<.>/?'"'"']/\\&/g' <<< $1 | sed 's/\t//g') curl -X POST "https://api.telegram.org/bot$token/sendMessage" \ -d "chat_id=$chat" -d "parse_mode=markdownv2" -d "text=$fmt" } alive(){ sendmsg "Alive and well!" } hiya(){ sendmsg "Hiya! :3" } stat(){ admin total=$(grep MemTotal /proc/meminfo | awk '{print $2}') avail=$(grep MemAvailable /proc/meminfo | awk '{print $2}') used=$(bc <<< "$total-$avail") sendmsg "$(uptime | cut -c2-) I am using ${used}K of memory and \ $(df -h / | tail -n1 | awk '{print $3}') of storage." } cv(){ stats=$(curl -sL corona.lmao.ninja/v2/countries/${cmd[1]}) country=$(jq -r '.country' <<< $stats) cases=$(jq -r '.todayCases' <<< $stats) sendmsg "Today's COVID-19 cases for $country: $cases. Stay safe!" } id(){ sendmsg "Chat ID: $chat" } fail(){ sendmsg "Sorry, you are not allowed to use this command!" exit 1 } admin(){ case $user in ghnou) continue ;; *) fail ;; esac } case "$cmd" in /alive*) alive ;; /stat*) stat ;; /cv*|/corona*) cv ;; /id*) id ;; @konatasanbot*) hiya ;; esac