URI: 
       clippy-say - annna - Annna the nice friendly bot.
  HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
       ---
       clippy-say (1243B)
       ---
            1 #!/bin/sh
            2 
            3 maxbubblelen=74
            4 #DST=""
            5 DSTDIR="/br/gopher/paste"
            6 CLIPPYTMPL="/br/gopher/memecache/clippy.vtv"
            7 
            8 speaktext="$@"
            9 speaklen="$(utf8expr length "${speaktext}")"
           10 
           11 cd /tmp
           12 tmpfile="$(mktemp p-XXXXXXXXXXXXX.txt)"
           13 touch "${tmpfile}"
           14 
           15 {
           16         bubblelen=$(($speaklen + 4))
           17         if [ $bubblelen -gt $maxbubblelen ];
           18         then
           19                 bubblelen=$maxbubblelen
           20         fi
           21 
           22         printf " "
           23         i=0
           24         while [ $i -lt $((bubblelen - 2)) ];
           25         do
           26                 printf "_"
           27                 i=$(($i + 1))
           28         done
           29         printf "\n"
           30 
           31         textoffset=1
           32         bubblecontentlen=$(($bubblelen - 4))
           33         while [ $speaklen -gt 0 ];
           34         do
           35                 newoffset=$(($textoffset + $bubblecontentlen))
           36                 textsubstr="$(utf8expr substr "$speaktext" $textoffset $bubblecontentlen)"
           37                 substrlen="$(utf8expr length "${textsubstr}")"
           38                 printf "| %s" "$textsubstr"
           39                 while [ $substrlen -le $bubblecontentlen ];
           40                 do
           41                         printf " "
           42                         substrlen=$(($substrlen + 1))
           43                 done
           44                 printf "|\n"
           45                 textoffset=$(($newoffset))
           46                 speaklen=$(($speaklen - $substrlen))
           47         done
           48 
           49         printf " "
           50         i=0
           51         while [ $i -lt $((bubblelen - 2)) ];
           52         do
           53                 printf "-"
           54                 i=$(($i + 1))
           55         done
           56         printf "\n"
           57 
           58         tail -n+4 "${CLIPPYTMPL}"
           59 } > $tmpfile
           60 
           61 mv $tmpfile $DSTDIR
           62 chmod g+rw $DSTDIR/$tmpfile
           63 chgrp bitreich $DSTDIR/$tmpfile
           64 
           65 name="$(basename $tmpfile)"
           66 printf "gophers://bitreich.org/0/p/%s\n" "$name"
           67