anchor.diff:    (irc:notice (connection bot) target message))
   
   (defreply send-msg ((bot (proto 'sykobot)) channel message)
  -  (irc:privmsg (connection bot) channel (or message "")))
  +  (unless (silentp bot)
  +   (irc:privmsg (connection bot) channel (or message ""))))
   
   (defreply send-reply ((bot (proto 'sykobot)) target channel message)
     (send-msg bot channel (format nil "~A: ~A" target message)))
  
positive.code: 
  (defreply disconnect ((bot (proto 'sykobot)) &optional message)
    (bt:destroy-thread (msg-loop-thread bot))
    (setf *active-bots* (delete bot *active-bots*))
    (irc:quit (connection bot) (or message (values))))
  
  (defreply join ((bot (proto 'sykobot)) channel)
  
negative.code:    (nickname "sykobot")
     (server "irc.freenode.net")
     (password nil)
     (silentp nil)))
  
  (defvar *active-bot* nil)
  
  ;;;
  ;;; IRC connection
  ;;;
  (defmessage init-bot (bot))
  (defmessage connect (bot server &optional password))
  (defmessage disconnect (bot &optional message))
  (defmessage join (bot channel))
  (defmessage part (bot channel))
  (defmessage identify (bot password))
  
  (defreply init-bot ((bot (proto 'sykobot)))
    (when *active-bot*
      (error "There is already a bot running. Disconnect the current *active-bot* and try again."))
    (connect bot (server bot) (password bot))
    (setf *active-bot* bot))
  
  (defreply connect ((bot (proto 'sykobot)) server &optional password)
    (setf (connection bot) (irc:connect :nickname (nickname bot) :server server :password password))
  