Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pullEvent = os.pullEvent
- os.pullEvent = os.pullEventRaw
- term.clear()
- term.setCursorPos(1,1)
- print("Legoman technologies email client running")
- myid = os.computerID()
- term.setCursorPos(1,2)
- print("Computer ID = " .. myid)
- local firstCycle = true
- local modemSide = "right"
- local AUTHID = 0
- local DNSID = 1
- local loggedin = false
- function DNSreverse (Id)
- rednet.open(modemSide)
- rednet.send(DNSID, "Id " .. Id)
- local temp, message = rednet.receive(1)
- return message
- end
- function DNSforward(servername)
- rednet.open(modemSide)
- rednet.send(DNSID, "Name " .. servername)
- local temp, message = rednet.receive(3)
- return message
- end
- while true do
- if firstCycle then
- rednet.open(modemSide)
- firstCycle = false
- end
- AUTHID = DNSforward("authserver") + 0
- MAILID = DNSforward("mailserver") + 0
- print("Mail ID: " .. MAILID)
- print("Auth ID: " .. AUTHID)
- print("Welcome! Please log in.")
- print("Username: ")
- username = read()
- print("Password:")
- password = read("*")
- rednet.send(AUTHID + 0, username)
- sender, message = rednet.receive(2)
- if message == "Valid" then
- print("Username ok!")
- rednet.send(AUTHID + 0, password)
- elseif message == "Not Valid" then
- print("Wrong username!")
- loggedin = false
- else
- print("Rednet error!")
- end
- sender, message = rednet.receive(2)
- if message == "Authenticated" then
- loggedin = true
- print("Logged in!")
- else
- print("Login failed!")
- end
- os.sleep(2)
- if loggedin then
- term.clear()
- term.setCursorPos(1,1)
- end
- while loggedin do
- print("Legoman technologies email client! Username: " .. DNSreverse(myid))
- print("What would you like to do?")
- print(" 1 - Check for messages")
- print(" 2 - Read a message")
- print(" 3 - Send a message")
- print(" 4 - Remove a message")
- print(" 5 - Log out")
- print(">")
- input = read()
- if input == "1" then
- print("Checking for messages")
- rednet.send(MAILID, "Check")
- temp, message = rednet.receive(3)
- print("You have: " .. message .. " message(s)")
- end
- if input == "2" then
- print("Enter message number to read: ")
- messageNum = read()
- rednet.send(MAILID, "Read " .. messageNum)
- temp, message = rednet.receive(3)
- print(message)
- end
- if input == "3" then
- print("Enter recipient name: ")
- recipient = read()
- print("Enter message: ")
- toSend = read()
- print("Send message to " .. recipient .. " Y/N?")
- yn = read()
- if yn == "Y" then
- rednet.send(MAILID, "Send " .. recipient .. " !" .. toSend)
- temp, message = rednet.receive(3)
- if message == "Ok" then
- print("Sent!")
- else
- print("Error!")
- end
- end
- end
- if input == "4" then
- print("Enter message number to remove: ")
- messageNum = read()
- os.sleep(1)
- print("Proceed? Y/N?")
- yn = read()
- if yn == "Y" then
- rednet.send(MAILID, "Remove " .. messageNum)
- end
- end
- if input == "5" then
- term.clear()
- term.setCursorPos(1,1)
- print("Goodbye!")
- os.sleep(1)
- rednet.send(DNSID, "Remove")
- loggedin = false
- term.clear()
- term.setCursorPos(1,1)
- end
Add Comment
Please, Sign In to add comment