X-Git-Url: https://jxself.org/git/?p=8sync.git;a=blobdiff_plain;f=demos%2Fircbot.scm;h=00c48ffe2eef8d6883802f78fd1918ba9c6353ef;hp=1c4ae748e0704192a2a4bb0e02be8e111c0d2dc6;hb=HEAD;hpb=dc2155083a90de90e24f5341b837d4d96ce2898c diff --git a/demos/ircbot.scm b/demos/ircbot.scm index 1c4ae74..00c48ff 100755 --- a/demos/ircbot.scm +++ b/demos/ircbot.scm @@ -3,7 +3,7 @@ !# ;;; 8sync --- Asynchronous programming for Guile -;;; Copyright (C) 2015 Christopher Allan Webber +;;; Copyright © 2015, 2016, 2017 Christopher Allan Webber ;;; ;;; This file is part of 8sync. ;;; @@ -30,8 +30,8 @@ (define-class ()) -(define-method (handle-line (irc-bot ) speaker channel - line emote?) +(define-method (handle-line (irc-bot ) message + speaker channel line emote?) (define my-name (irc-bot-username irc-bot)) (define (looks-like-me? str) (or (equal? str my-name) @@ -104,26 +104,20 @@ (repl #f)) (define hive (make-hive)) (define irc-bot - (hive-create-actor* hive "irc-bot" - #:username username - #:server server - #:channels channels)) + (bootstrap-actor* hive "irc-bot" + #:username username + #:server server + #:channels channels)) (define repl-manager (cond ((string? repl) - (hive-create-actor* hive "repl" - #:path repl)) + (bootstrap-actor* hive "repl" + #:path repl)) (repl - (hive-create-actor* hive "repl")))) - - (define initial-messages - (if repl - (list (bootstrap-message hive irc-bot 'init) - (bootstrap-message hive repl-manager 'init)) - (list (bootstrap-message hive irc-bot 'init)))) + (bootstrap-actor* hive "repl")))) ;; TODO: load REPL - (run-hive hive initial-messages)) + (run-hive hive '())) (define (main args) (define parsed-args (parse-args "ircbot.scm" args))