X-Git-Url: https://jxself.org/git/?p=8sync.git;a=blobdiff_plain;f=8sync%2Fsystems%2Firc.scm;h=495cbca4f968dfe4b4c4b03c7629c78cc2e12110;hp=01a83c8f6535526c6d0f625a73dfc5f625d7cfcc;hb=382af9f4ada1170faab3efda78ae5e3b5e1d4d42;hpb=bc24c9f3f29d3396ae9e52f9682914dec868838a diff --git a/8sync/systems/irc.scm b/8sync/systems/irc.scm index 01a83c8..495cbca 100755 --- a/8sync/systems/irc.scm +++ b/8sync/systems/irc.scm @@ -35,8 +35,8 @@ #:export ( irc-bot-username irc-bot-server irc-bot-channels irc-bot-port - irc-bot-handle-line irc-bot-handle-misc-input - irc-bot-handle-user-join irc-bot-handle-user-quit + handle-line handle-misc-input + handle-user-join handle-user-quit default-irc-port)) @@ -192,7 +192,7 @@ (define (irc-bot-main-loop irc-bot message) (define socket (irc-bot-socket irc-bot)) (define line (string-trim-right (read-line socket) #\return)) - (irc-bot-dispatch-raw-line irc-bot line) + (dispatch-raw-line irc-bot line) (cond ;; The port's been closed for some reason, so stop looping ((port-closed? socket) @@ -220,32 +220,33 @@ ;;; Likely-to-be-overridden generic methods -(define-method (irc-bot-dispatch-raw-line (irc-bot ) raw-line) +(define-method (dispatch-raw-line (irc-bot ) raw-line) "Dispatch a raw line of input" (receive (line-prefix line-command line-params) (parse-line raw-line) (match line-command ("PING" - (display "PONG" (irc-bot-socket irc-bot))) + (display (string-append "PONG" irc-eol) + (irc-bot-socket irc-bot))) ("PRIVMSG" (receive (channel-name line-text emote?) (condense-privmsg-line line-params) (let ((username (irc-line-username line-prefix))) - (irc-bot-handle-line irc-bot username channel-name - line-text emote?)))) - (_ (irc-bot-handle-misc-input irc-bot raw-line))))) + (handle-line irc-bot username channel-name + line-text emote?)))) + (_ (handle-misc-input irc-bot raw-line))))) -(define-method (irc-bot-handle-line (irc-bot ) username channel-name +(define-method (handle-line (irc-bot ) username channel-name line-text emote?) (echo-message irc-bot username channel-name line-text emote?)) -(define-method (irc-bot-handle-misc-input (irc-bot ) raw-line) +(define-method (handle-misc-input (irc-bot ) raw-line) (display raw-line) (newline)) -(define-method (irc-bot-handle-user-join (irc-bot ) user channel) +(define-method (handle-user-join (irc-bot ) user channel) 'TODO) -(define-method (irc-bot-handle-user-quit (irc-bot ) user channel) +(define-method (handle-user-quit (irc-bot ) user channel) 'TODO)