
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 -- DSL-Aktion wegen gro�er Nachfrage bis 28.2.2006 verl�ngert: GMX DSL-Flatrate 1 Jahr kostenlos* http://www.gmx.net/de/go/dsl