29 lines
783 B
Fennel
29 lines
783 B
Fennel
(set _G.modem-spew io.stderr)
|
|
|
|
(local server (require :server))
|
|
(local webhook (require :webhook))
|
|
(local json (require :dkjson))
|
|
|
|
(local {: smsc : number : device }
|
|
(let [filename (assert (. arg 1) "missing argument")
|
|
text (with-open [config (io.open filename :r)]
|
|
(config:read "*a"))]
|
|
(match (json.decode text)
|
|
a a
|
|
(nil pos err) (error (.. "reading " filename ": " err)))))
|
|
|
|
(local { : view} (require :fennel))
|
|
;(print (view m) (view err))
|
|
|
|
|
|
(local sms ((. (require :sms) :new) { :smsc smsc :device device }))
|
|
|
|
(doto (server.new
|
|
(fn handle [body]
|
|
(let [message (webhook.parse body)]
|
|
(sms:send number message)
|
|
"Sent")))
|
|
(: :listen)
|
|
(print "server ready")
|
|
(: :loop))
|