X-Git-Url: https://jxself.org/git/?p=8sync.git;a=blobdiff_plain;f=8sync%2Fsystems%2Firc.scm;h=fff346177859e9d0125b53d4336f0dd5cc319aae;hp=e6ad361ae322cfa7bc8308629c24840f8f3b173d;hb=8bdfa5c8f81d4e46d57c367da23cd8ea676ad717;hpb=68472a819457ce0e6053b59b2b9a1657669e8801 diff --git a/8sync/systems/irc.scm b/8sync/systems/irc.scm index e6ad361..fff3461 100755 --- a/8sync/systems/irc.scm +++ b/8sync/systems/irc.scm @@ -1,9 +1,5 @@ -#!/usr/bin/guile \ --e main -s -!# - ;;; 8sync --- Asynchronous programming for Guile -;;; Copyright (C) 2015 Christopher Allan Webber +;;; Copyright © 2015, 2016, 2017 Christopher Allan Webber ;;; ;;; This file is part of 8sync. ;;; @@ -163,10 +159,11 @@ #:getter irc-bot-port) (socket #:accessor irc-bot-socket) (actions #:allocation #:each-subclass - #:init-value (build-actions + #:init-thunk (build-actions (*init* irc-bot-init) (*cleanup* irc-bot-cleanup) (main-loop irc-bot-main-loop) + (handle-line handle-line) (send-line irc-bot-send-line-action)))) (define (irc-bot-realname irc-bot) @@ -244,12 +241,13 @@ irc-bot-send-line." (receive (channel-name line-text emote?) (condense-privmsg-line line-params) (let ((username (irc-line-username line-prefix))) - (handle-line irc-bot username channel-name - line-text emote?)))) + (<- (actor-id irc-bot) 'handle-line + username channel-name + line-text emote?)))) (_ (handle-misc-input irc-bot raw-line))))) -(define-method (handle-line (irc-bot ) username channel-name - line-text emote?) +(define-method (handle-line (irc-bot ) message + username channel-name line-text emote?) (echo-message irc-bot username channel-name line-text emote?)) (define-method (handle-misc-input (irc-bot ) raw-line)