# bbs/reply - reply to a message
# usage: reply room msgid
#   Type reply interactively, or pipe it in.
#
# examples:
#   reply lobby 1738-abc                type interactively, ^D to send
#   echo 'I agree!' | reply lobby 1738-abc   pipe reply

if (test $#* -lt 2) {
    echo 'usage: reply room msgid'
    echo ''
    echo 'examples:'
    echo '  reply lobby 1738-abc              type, ^D to send'
    echo "  echo 'I agree!' | reply lobby 1738-abc"
    exit 1
}

bbs=/n/bbs

if (test ! -d $bbs) {
    echo 'BBS not connected. Run: bbs/connect'
    exit 1
}

room=$1
msgid=$2

if (test ! -f $bbs/rooms/$room/$msgid) {
    echo 'Message not found:' $room/$msgid
    exit 1
}

# Show original message for context
echo '--- Original message ---'
cat $bbs/rooms/$room/$msgid
echo '---'
echo ''
echo 'Type your reply. ^D to send.'
echo ''

# Build reply in temp file, then write to server
tmp=/n/local/_reply.tmp
echo 'From: '$user > $tmp
echo 'Subject: Re: '$msgid >> $tmp
echo 'In-Reply-To: '$msgid >> $tmp
echo 'X-Client: cyberterminal/1.0' >> $tmp
echo '' >> $tmp
while (read line) {
    echo $line >> $tmp
}
cat $tmp > $bbs/rooms/$room/new
rm $tmp

echo ''
echo 'Reply posted to' $room
