anchor.diff:                            under AGPL3 license, my sources are available at <~A>."
                       *sources-url*)))))
   
  -(defun dispatch (message)
  -  (with-accessors ((source source)
  -                   (user user)
  -                   (host host)
  -                   (command command)
  -                   (arguments arguments)) message
  -    (format t "~&~S~%" (list :source source :user user :host host :command command :arguments arguments))
  -    (let ((recipient (first arguments)))
  -      (say arguments)
  -      (if (string= *nickname* recipient)
  -          (send *command-processor* user (second arguments))
  -          (send *logger* message)))))
  -
   (defun botil (command)
     (ecase command
       ((reconnect)
  
positive.code:         *command-processor* (make-worker-thread command-processor (sender message)
                                (format *trace-output* "~&~A -> ~A~%" sender message)
                                (command-processor sender message))
          *dispatch*          (make-worker-thread dispatch (message)
                                (format *trace-output* "~&~A -> ~A~%" (source message) message)
                                (dispatch message))
          *botil*             (make-worker-thread botil (command)
                                (format *trace-output* "~&BOTIL <- ~A~%" command)
                                (botil command))))
  
negative.code:                  :name ,sname)))))
  
  (defvar *botil*)
  (defvar *command-processor*)
  (defvar *query-processor*)
  (defvar *sender*)
  