Hi!
Deprecating trailing-argument makes the bots in examples/ out of date.
Below is a patch to fix that, but, given that I don't run them much, I'd like to send the patch here and have someone look them over and commit. Brian, could you?
Thanks in advance!
bye,
Erik.
Index: example/cliki.lisp =================================================================== RCS file: /project/cl-irc/cvsroot/cl-irc/example/cliki.lisp,v retrieving revision 1.38 diff -u -r1.38 cliki.lisp --- example/cliki.lisp 15 Oct 2005 19:16:52 -0000 1.38 +++ example/cliki.lisp 20 Feb 2006 20:36:21 -0000 @@ -723,7 +723,7 @@
(defun valid-cliki-message (message) - (scan *cliki-attention-prefix* (trailing-argument message))) + (scan *cliki-attention-prefix* (car (last (arguments message)))))
(defvar *respond-to-general-hellos* nil)
@@ -740,24 +740,27 @@ (format *trace-output* "~A~%" (nthcdr 10 (sb-debug:backtrace-as-list))) (return-from msg-hook)))) - (progn - (scan-for-more (trailing-argument message)) - (let ((respond-to (if (string-equal (first (arguments message)) *cliki-nickname*) (source message) (first (arguments message))))) + (destructuring-arguments + (target &rest unused &last text) + message + (declare (ignore unused)) + (scan-for-more text) + (let ((respond-to (if (string-equal target *cliki-nickname*) (source message) target))) (if (valid-cliki-message message) - (let ((response (cliki-lookup (regex-replace *cliki-attention-prefix* (trailing-argument message) "") :sender (source message) :channel (first (irc:arguments message))))) + (let ((response (cliki-lookup (regex-replace *cliki-attention-prefix* text "") :sender (source message) :channel target))) (and response (privmsg *cliki-connection* respond-to response))) - (if (string-equal (first (arguments message)) *cliki-nickname*) - (aif (cliki-lookup (trailing-argument message) :sender (source message)) + (if (string-equal target *cliki-nickname*) + (aif (cliki-lookup text :sender (source message)) (privmsg *cliki-connection* respond-to it)) - (if (anybody-here (trailing-argument message)) - (privmsg *cliki-connection* (first (arguments message)) (format nil "~A: hello." (source message)))))) + (if (anybody-here text) + (privmsg *cliki-connection* target (format nil "~A: hello." (source message)))))) (take-care-of-memos respond-to (source message))))))
(defvar *cliki-nickserv-password* "")
(defun notice-hook (message) (if (and (string-equal (source message) "NickServ") - (scan "owned by someone else" (trailing-argument message))) + (scan "owned by someone else" (car (last (arguments message))))) (privmsg *cliki-connection* (source message) (format nil "IDENTIFY ~A" *cliki-nickserv-password*))))
(defun rename-cliki (new-nick) Index: example/specbot.lisp =================================================================== RCS file: /project/cl-irc/cvsroot/cl-irc/example/specbot.lisp,v retrieving revision 1.14 diff -u -r1.14 specbot.lisp --- example/specbot.lisp 9 Aug 2005 01:26:14 -0000 1.14 +++ example/specbot.lisp 20 Feb 2006 20:36:21 -0000 @@ -102,12 +102,13 @@ (and (not final) string))
(defun msg-hook (message) - (let ((destination (if (string-equal (first (arguments message)) *nickname*) - (source message) - (first (arguments message)))) + (let* ((target (first (arguments message)))) + (destination (if (string-equal target *nickname*) + (source message) + target)) (to-lookup (strip-address (trailing-argument message)))) (if (and (or - (string-equal (first (arguments message)) *nickname*) + (string-equal target *nickname*) (not (string= to-lookup (trailing-argument message)))) (member to-lookup '("help" "help?") :test #'string-equal)) (progn