#!/bin/bash # # v0.1 / TK # # # Wordlists: https://github.com/verachell/English-word-lists-parts-of-speech-approximate # # https://raw.githubusercontent.com/verachell/English-word-lists-parts-of-speech-approximate/main/nouns/mostly-nouns.txt # https://raw.githubusercontent.com/verachell/English-word-lists-parts-of-speech-approximate/main/other-categories/mostly-adjectives.txt # https://raw.githubusercontent.com/verachell/English-word-lists-parts-of-speech-approximate/main/verbs/mostly-verbs-infinitive.txt # # read the word files and take only 6 character words word=$(cat mostly* | tr 'A-Z' 'a-z' | egrep '^[a-z]{6}$' | shuf | head -1) # revealing order is random revealorder=($(echo "012345" | fold -w1 | shuf)) # function to send data to telegram. telegram_channel () { # curl -s -X POST "https://api.telegram.org/botNNNNNNNNNN:KEYYYYYY/sendMessage" -d "chat_id=XXXXXXXXX&text=Word puzzle with one minute delay: $reveal" > /dev/null # sleep 60 # for debugging echo "$reveal" } # replace individual characters (not beautiful but somewhat readable) reveal=$(echo "$word" | sed "s/^\(.\{${revealorder[0]}\}\)./\1_/" |\ sed "s/^\(.\{${revealorder[1]}\}\)./\1_/" | \ sed "s/^\(.\{${revealorder[2]}\}\)./\1_/" | \ sed "s/^\(.\{${revealorder[3]}\}\)./\1_/" | \ sed "s/^\(.\{${revealorder[4]}\}\)./\1_/") telegram_channel reveal=$(echo "$word" | sed "s/^\(.\{${revealorder[0]}\}\)./\1_/" |\ sed "s/^\(.\{${revealorder[1]}\}\)./\1_/" | \ sed "s/^\(.\{${revealorder[2]}\}\)./\1_/" | \ sed "s/^\(.\{${revealorder[3]}\}\)./\1_/") telegram_channel reveal=$(echo "$word" | sed "s/^\(.\{${revealorder[0]}\}\)./\1_/" |\ sed "s/^\(.\{${revealorder[1]}\}\)./\1_/" | \ sed "s/^\(.\{${revealorder[2]}\}\)./\1_/") telegram_channel reveal=$(echo "$word" | sed "s/^\(.\{${revealorder[0]}\}\)./\1_/" |\ sed "s/^\(.\{${revealorder[1]}\}\)./\1_/") telegram_channel reveal=$(echo "$word" | sed "s/^\(.\{${revealorder[0]}\}\)./\1_/") telegram_channel reveal="$word" telegram_channel