SayHelp screen 6: Puppets.
A puppet is an object with a messaging action attached, controlled by a player
(see also spoof #help). To set up a say-puppet:
  @create Spelvin's Breakfast            [spaces in the name become '-' in say]
  @action bs = Spelvin's                 ['bs' is this puppet's speech action]
  say                                    [find out say's program number]
  Say version n.nn by TimB  (#xxxxx)
  @link bs = #xxxxx                        [link 'bs' to say]
  sayset puppet Spelvin's                  [tell say that object is a puppet]
  sayset puppet Spelvin's def squeaks,     [the puppet squeaks..]
  sayfilter puppet Spelvin's fadd Jumble   [..and jumbles its words a bit]
If you type 'bs Hiya, I'm a light snack!', the puppet will talk.
If a room is set '_puppet_okay?:no', puppets will not function there.
Typing 'sayset !puppet puppetname-or-#dbref' stops it being a say-puppet.
sayhelp 5:rooms/envs  6:puppets  7,8,9:filter-writing  10:$verb  11:boringadmin