anchor.diff:      (irc:quit *connection*)
       (setf *connection* nil)))
   
  +(defparameter *gonna-quit* nil)
  +
   ;; a "hook" is some sort of function that we run in response to an event
   ;; this one happens to take one parameter that is filled in with a message by cl-irc
   (defun message-received-hook (message)
  
positive.code:     (ql:quickload :cl-irc)
      (ql:quickload :cl+ssl)
      (ql:quickload :split-sequence)
      (ql:quickload :trivial-shell)))
  
  (defpackage :lispbot (:use :common-lisp :irc :cl+ssl :split-sequence)
  	    (:export #:run #:part))
  
negative.code: 				    :server "irc.cat.pdx.edu"
  				    :port 6697
  				    :connection-security :ssl)))
    (if auth-required
        (let ((auth-file (open "auth.dat")))
  	(let ((auth-data (read auth-file)))
  	  (irc:join *connection* channel :password (getf auth-data :key)))
  	(close auth-file))
        (irc:join *connection* channel))
    (irc:add-hook *connection* 'irc:irc-privmsg-message (lambda (m) (update-swank) (message-received-hook m)))
    (irc:read-message-loop *connection*))
  