anchor.diff:  (defvar *message*)
   (defvar *sender*)
   (defvar *channel*)
  -
  +(defvar *responses*)
   ;;; Command processing
   (deflistener command-listener
     (when (sent-to-me-p *bot* *channel* *message*)
       (respond-to-message *bot* *sender* *channel* *message*)))
   (defmessage respond-to-message (bot sender channel message))
   (defmessage answer-command (bot cmd args sender channel))
  +(defmessage get-responses (bot cmd args sender channel))
  +
   (defreply respond-to-message ((bot (proto 'sykobot)) sender channel message)
     (let* ((string (scan-string-for-direct-message bot channel message))
            (command+args (split "\\s+" string :limit 2)))
  
positive.code: (defcommand cliki ("(.*)" query)
    (multiple-value-bind (links numlinks)
        (cliki-urls query)
      (cmd-reply "I found ~D result~:P.~@[ Check out <~A>.~]" numlinks (car links))))
  
  (defun cliki-urls (query)
    (let ((links NIL)
  
negative.code:   (answer-command bot (intern (string-upcase cmd) :sykobot) args sender channel))
  
  (defreply answer-command ((bot (proto 'sykobot)) (cmd (proto 'symbol)) args sender channel)
    (let ((responses (get-responses bot cmd args sender channel)))
      (loop for response in responses
         do (send-reply bot sender channel response))))
  
  (defreply get-responses ((bot (proto 'sykobot)) cmd args sender channel)
    (let ((fn (command-function cmd)))
      (funcall fn bot args sender channel)))
  
  