grafana-sms-alert

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

main.fnl (754B)


      1 ; (set _G.modem-spew io.stderr)
      2 (local server (require :server))
      3 (local webhook (require :webhook))
      4 (local json (require :dkjson))
      5 
      6 (local {: smsc : number : device }
      7        (let [filename (assert (. arg 1) "missing argument")
      8              text (with-open [config (io.open filename :r)]
      9                     (config:read "*a"))]
     10          (match (json.decode text)
     11            a a
     12            (nil pos err) (error (.. "reading " filename ": "  err)))))
     13 
     14 (local { : view} (require :fennel))
     15 
     16 (local sms ((. (require :sms) :new) { :smsc smsc :device device }))
     17 
     18 (doto (server.new
     19        (fn handle [body]
     20          (let [message (webhook.parse body)]
     21            (sms:send number message)
     22            "Sent")))
     23   (: :listen)
     24   (print "server ready")
     25   (: :loop))