summaryrefslogtreecommitdiff
path: root/listener.lua
blob: 09f92aa234e0032481084ad16ae68f44190bc7fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
local pm = require'pm'

local ws = assert(http.websocket("wss://citrons.xyz/ws-echo/rebecca"))
function main()
	print("listening")
	while true do
		local msg = ws.receive()
		local parsed = assert(textutils.unserializeJSON(msg))
		if parsed.msg then
			print("got msg",parsed.msg)
			-- more sophisticated cmds later, maybe
			local pkgname = parsed.msg:gsub("%s","")
			pm.dl(pkgname)
			multishell.run(pkgname..'.lua')
		end
	end
end

local ok, err = pcall(main)
if not ok then
	print(err)
end
print("all done")