(define (irc:message-reply-destination message) (let ((first-param (car (irc:message-parameters message))) (prefix (irc:message-prefix message))) (if (irregex-search '(: bos "#") first-param) (values first-param (format "~A: " (car prefix))) (values (and prefix (car prefix)) "")))) (define (irc:message-from-channel? message) (irregex-search '(: bos "#" (+ (~ space))) (car (irc:message-parameters message)))) (define (irc:whisper connection nick message #!optional (method irc:say)) (method connection message nick)) (define (irc:reply connection message text #!optional (method irc:say) (prefixed #t)) (receive (recipient prefix) (irc:message-reply-destination message) (method connection (if prefixed (conc prefix text) text) recipient)))