projects
/
8sync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
easier passing in of line handler things
[8sync.git]
/
eightsync
/
systems
/
irc.scm
diff --git
a/eightsync/systems/irc.scm
b/eightsync/systems/irc.scm
index a802167726ba8805967aa53a4864624b6eeeaae5..bf450b94efc526ef680e9472c7804438b5386ee9 100755
(executable)
--- a/
eightsync/systems/irc.scm
+++ b/
eightsync/systems/irc.scm
@@
-234,19
+234,22
@@
(_ #f))))
irc-handler))
(_ #f))))
irc-handler))
+(define default-line-handler (make-handle-line))
(define* (queue-and-start-irc-agenda! agenda socket #:key
(username "syncbot")
(inet-port default-irc-port)
(define* (queue-and-start-irc-agenda! agenda socket #:key
(username "syncbot")
(inet-port default-irc-port)
- (handler (make-basic-irc-handler
- (lambda args
- (apply (make-handle-line) args))
- username))
+ (line-handler default-line-handler)
(channels '()))
(dynamic-wind
(lambda () #f)
(lambda ()
(channels '()))
(dynamic-wind
(lambda () #f)
(lambda ()
- (enq! (agenda-queue agenda) (wrap (install-socket socket handler)))
+ (enq! (agenda-queue agenda)
+ (wrap (install-socket
+ socket
+ (make-basic-irc-handler
+ line-handler
+ username))))
(enq! (agenda-queue agenda) (wrap (handle-login socket username
#:channels channels)))
(start-agenda agenda))
(enq! (agenda-queue agenda) (wrap (handle-login socket username
#:channels channels)))
(start-agenda agenda))
@@
-270,7
+273,7
@@
(channels (value #t))
(listen)))
(channels (value #t))
(listen)))
-(define* (make-irc-bot-cli)
+(define* (make-irc-bot-cli
#:optional (line-handler default-line-handler)
)
(define (main args)
(let* ((options (getopt-long args option-spec))
(hostname (option-ref options 'server #f))
(define (main args)
(let* ((options (getopt-long args option-spec))
(hostname (option-ref options 'server #f))
@@
-290,7
+293,8
@@
(irc-socket-setup hostname port)
#:inet-port port
#:username username
(irc-socket-setup hostname port)
#:inet-port port
#:username username
- #:channels (string-split channels #\space))))
+ #:channels (string-split channels #\space)
+ #:line-handler line-handler)))
main)
(define main (make-irc-bot-cli))
main)
(define main (make-irc-bot-cli))