Receiving a rednet message through os.pullEvent()
From ComputerCraft Wiki
The following method is a good method of receiving a rednet message without using rednet.receive(). It is usually used in IRC, Chat programs e.t.c. When a message arrives to a computer, a "rednet_message" event occurs.
The Code
This is a typical Listener which prints the content and the sender id of any incoming message.
for n,m in ipairs(rs.getSides()) do rednet.open(m) end -- Opens all rednet sides. while true do event, id, text = os.pullEvent() if event == "rednet_message" then print(id .. "> " .. text) end end
Explanation
for n,m in ipairs(rs.getSides()) do rednet.open(m) end
Here we just open all sides for rednet processing.
while true do
We start a loop because os.pullEvent() terminates itself after 10 seconds.
event, id, text = os.pullEvent()
We wait for an event to occur and when this happens, we store the event's info into 3 variables. NOTE: You can give your variables whichever name you want.
if event == "rednet_message" then
We check if the event was a rednet message.
print(id .. "> " .. text)
We print the message and the id of the sender.
end end
We close our previous statements.