(in-package #:irc-logger)
(defvar *daemon-monitor-process* nil "Process of background monitor.")
-(defparameter *timeout* 60)
+(defparameter *timeout* 120)
(defclass log-channel ()
((name :initarg :name :reader c-name
(and (pathnamep user-output) (null (pathname-name user-output))))
(defun do-connect-and-join (nick server port username realname logging-stream channels)
+ (unless port (setq port 6667))
(let ((conn (connect :nickname nick :server server :port port
:username username :realname realname
:logging-stream logging-stream)))
(add-hook conn 'irc::irc-rpl_topicwhotime-message 'rpl_topicwhotime-hook)
conn))
-(defmethod cl-irc::irc-message-event :around ((msg cl-irc::irc-message))
- (let ((result (call-next-method msg)))
+(defmethod cl-irc::irc-message-event :around (connection (msg cl-irc::irc-message))
+ (let ((result (call-next-method connection msg)))
(typecase msg
((or irc::irc-privmsg-message irc::ctcp-action-message irc::irc-nick-message
irc::irc-part-message irc::irc-quit-message irc::irc-join-message
)
(t
(add-log-entry
- (get-unknown-log-stream (find-logger-with-connection (connection msg)))
+ (get-unknown-log-stream (find-logger-with-connection connection))
"~A"
(raw-message-string msg))))
result))
-(defun create-logger (nick server &key port channels output password
+(defun create-logger (nick server &key (port 6667) channels output password
realname username async
private-log unknown-log
(logging-stream t) (formats '(:text)))
(delete nick *loggers* :test #'string-equal :key #'l-nickname))
t))))
-(defun add-logger (nick server &key port channels output (password "")
+(defun add-logger (nick server &key (port 6667) channels output (password "")
realname username private-log unknown-log
(logging-stream t) (async t)
(formats '(:sexp)))
(add-private-log-entry nil "Calling create-logger [add-logger].~%")
(let ((logger
(do ((new-logger
- (#-sbcl mp:with-timeout #-sbcl (*timeout* nil)
- #+sbcl sb-ext:with-timeout #+sbcl *timeout*
+ (#+allegro mp:with-timeout #+allegro (*timeout* nil)
+ #+sbcl sb-ext:with-timeout #+sbcl *timeout*
+ #+lispworks progn
(create-logger nick server :port port :channels channels :output output
:logging-stream logging-stream :password password
:realname realname :username username
:unknown-log unknown-log
:formats formats
:async async))
- (#-sbcl mp:with-timeout #-sbcl (*timeout* nil)
- #+sbcl sb-ext:with-timeout #+sbcl *timeout*
+ (#+allegro mp:with-timeout #+allegro (*timeout* nil)
+ #+sbcl sb-ext:with-timeout #+sbcl *timeout*
+ #+lispworks progn
(create-logger nick server :port port :channels channels :output output
:logging-stream logging-stream :password password
:realname realname :username username
:unknown-log unknown-log
:formats formats
:async async))))
+
(new-logger
(progn
(add-private-log-entry nil "Acquired new logger ~A." new-logger)