From: Christopher Allan Webber Date: Sat, 24 Dec 2016 19:09:54 +0000 (-0600) Subject: irc: Split irc-bot-send-line into main functionality and action handler. X-Git-Tag: v0.4.0~54 X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=88ad8bc99a14d0037bad27ff3c576ebbabbf14f4;p=8sync.git irc: Split irc-bot-send-line into main functionality and action handler. This allows irc-bot-send-line to be called directly. * 8sync/systems/irc.scm (irc-bot-send-line): Update this procedure to not have a message as one of the arguments so it can be called directly. (irc-bot-send-line-action): Action handler, doing what irc-bot-send-line previously did. (): Update actions mapping to point to irc-bot-send-line-action. --- diff --git a/8sync/systems/irc.scm b/8sync/systems/irc.scm index 495cbca..aad138d 100755 --- a/8sync/systems/irc.scm +++ b/8sync/systems/irc.scm @@ -35,6 +35,8 @@ #:export ( irc-bot-username irc-bot-server irc-bot-channels irc-bot-port + irc-bot-send-line + handle-line handle-misc-input handle-user-join handle-user-quit @@ -164,7 +166,7 @@ #:init-value (build-actions (init irc-bot-init) (main-loop irc-bot-main-loop) - (send-line irc-bot-send-line)))) + (send-line irc-bot-send-line-action)))) (define (irc-bot-realname irc-bot) (or (slot-ref irc-bot 'realname) @@ -212,12 +214,18 @@ (else (<- irc-bot (actor-id irc-bot) 'main-loop)))) -(define* (irc-bot-send-line irc-bot message - channel line #:key emote?) +(define* (irc-bot-send-line-action irc-bot message + channel line #:key emote?) + "Action handler for sending lines. Real behavior happens in +irc-bot-send-line." + (irc-bot-send-line irc-bot channel line #:emote? emote?)) + +(define* (irc-bot-send-line irc-bot channel line #:key emote?) ;; TODO: emote? handling (format (irc-bot-socket irc-bot) "PRIVMSG ~a :~a~a" channel line irc-eol)) + ;;; Likely-to-be-overridden generic methods (define-method (dispatch-raw-line (irc-bot ) raw-line)