(socket #:accessor irc-bot-socket)
(actions #:allocation #:each-subclass
#:init-value (build-actions
- (init irc-bot-init)
+ (*init* irc-bot-init)
+ (*cleanup* irc-bot-cleanup)
(main-loop irc-bot-main-loop)
(send-line irc-bot-send-line-action))))
(format socket "JOIN ~a~a" channel irc-eol))
(irc-bot-channels irc-bot))
- (<- irc-bot (actor-id irc-bot) 'main-loop))
+ (<- (actor-id irc-bot) 'main-loop))
+
+(define (irc-bot-cleanup irc-bot message)
+ (close (irc-bot-socket irc-bot)))
(define (irc-bot-main-loop irc-bot message)
(define socket (irc-bot-socket irc-bot))
;; 'done)
;; Otherwise, let's read till the next line!
(else
- (<- irc-bot (actor-id irc-bot) 'main-loop))))
+ (<- (actor-id irc-bot) 'main-loop))))
(define* (irc-bot-send-line-action irc-bot message
channel line #:key emote?)