2022-09-16 22:21:07 +00:00
|
|
|
; (set _G.modem-spew io.stderr)
|
2022-09-13 19:55:15 +00:00
|
|
|
(local server (require :server))
|
2022-09-16 20:43:24 +00:00
|
|
|
(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))
|
|
|
|
|
|
|
|
(local sms ((. (require :sms) :new) { :smsc smsc :device device }))
|
2022-09-13 19:55:15 +00:00
|
|
|
|
2022-09-16 20:43:24 +00:00
|
|
|
(doto (server.new
|
|
|
|
(fn handle [body]
|
|
|
|
(let [message (webhook.parse body)]
|
|
|
|
(sms:send number message)
|
|
|
|
"Sent")))
|
2022-09-13 19:55:15 +00:00
|
|
|
(: :listen)
|
2022-09-16 20:43:24 +00:00
|
|
|
(print "server ready")
|
2022-09-16 09:11:50 +00:00
|
|
|
(: :loop))
|