anchor.diff:  
   (defreply disconnect ((bot (proto 'sykobot)) &optional message)
     (bt:destroy-thread (msg-loop-thread bot))
  -  (setf *active-bots* (delete bot *active-bots*))
  +  (setf *active-bot* nil)
     (irc:quit (connection bot) (or message (values))))
   
   (defreply join ((bot (proto 'sykobot)) channel)
  
positive.code: ;;; Message processing
  ;;;
  (defmessage msg-hook (bot msg))
  (defmessage process-message (mode bot sender channel message))
  (defmessage shut-up (bot))
  (defmessage un-shut-up (bot))
  (defmessage respond-to-message (bot sender channel message))
  
negative.code:   (let ((sender (irc:source msg))
          (channel (car (irc:arguments msg)))
          (message (second (irc:arguments msg))))
      (process-message bot sender channel message)))
  
  (defreply process-message ((bot (proto 'sykobot))
                             sender channel message)
    (call-listeners bot sender channel message))
  
  (defreply shut-up ((bot (proto 'sykobot)))
    (setf (silentp bot) t))
  
  (defreply un-shut-up ((bot (proto 'sykobot)))
    (setf (silentp bot) nil))
  
  (defreply respond-to-message ((bot (proto 'sykobot)) sender channel message)
    (let* ((string (scan-string-for-direct-message bot channel message))
  