(define-syntax cmd (syntax-rules () ((_ tag . body) (irc:add-message-handler! con (lambda (msg) (let* ((from (irc:message-sender msg)) (receiver (irc:message-receiver msg)) (reply (if (string=? receiver (irc:connection-nick con)) from receiver)) (all (last (irc:message-parameters msg))) (rest (string-substitute (tag->regex tag) "" all))) . body)) command: "PRIVMSG" body: (check-body (tag->regex tag)) tag: tag))))