47 lines
932 B
Plaintext
47 lines
932 B
Plaintext
require("git-scripts.utils")
|
|
|
|
local function printUsage()
|
|
print("Usage:")
|
|
print("send_file <filename> <receiver ID>")
|
|
end
|
|
|
|
local args = { ... }
|
|
if #args < 2 then
|
|
printUsage()
|
|
return
|
|
end
|
|
|
|
local filename = args[1]
|
|
local file = fs.open(filename, "r")
|
|
if file == nil then
|
|
print("Error: File not found")
|
|
return
|
|
end
|
|
content = file.readAll()
|
|
local data = {} --pack filename, content
|
|
data.filename = filename
|
|
data.content = content
|
|
data = textutils.serialize(data) --convert to string
|
|
file.close()
|
|
local receiver = tonumber(args[2])
|
|
|
|
--init rednet
|
|
modemSide = utils.getSideOf("modem")
|
|
if modemSide == nil then
|
|
print("Error: No modem detected!")
|
|
return
|
|
end
|
|
rednet.open(modemSide)
|
|
|
|
print("Waiting for receiver...")
|
|
repeat
|
|
id, msg, sth = rednet.receive("fileRX") --keep waiting
|
|
until id == receiver
|
|
|
|
--receiver is online!
|
|
rednet.send(id, data, "fileTX")
|
|
print("Sent!")
|
|
|
|
--finish up
|
|
rednet.close(modemSide)
|