src/clojurecraft/events.clj @ 7102fee989ed

JUMPBOT
author Steve Losh <steve@stevelosh.com>
date Tue, 09 Aug 2011 22:25:57 -0400
parents (none)
children 53bc495283f5
(ns clojurecraft.events)

(defn add-handler [bot event-type handler]
  (dosync
    (let [current-handlers (event-type @(:event-handlers bot))
          updated-handlers (conj current-handlers handler)]
      (alter (:event-handlers bot) assoc event-type updated-handlers))))

(defn clear-handlers [bot event-type]
  (dosync (alter (:event-handlers bot) dissoc event-type)))


(defn fire-chat [bot message]
  (dorun (map #((eval %) bot message)
              (:chat @(:event-handlers bot)))))