Guest User

Untitled

a guest
Jun 2nd, 2016
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. pullEvent = os.pullEvent
  2. os.pullEvent = os.pullEventRaw
  3.  
  4. term.clear()
  5. term.setCursorPos(1,1)
  6. print("Legoman technologies email client running")
  7. myid = os.computerID()
  8. term.setCursorPos(1,2)
  9. print("Computer ID = " .. myid)
  10.  
  11. local firstCycle = true
  12. local modemSide = "right"
  13. local AUTHID = 0
  14. local DNSID = 1
  15. local loggedin = false
  16.  
  17. function DNSreverse (Id)
  18. rednet.open(modemSide)
  19. rednet.send(DNSID, "Id " .. Id)
  20. local temp, message = rednet.receive(1)
  21. return message
  22. end
  23.  
  24. function DNSforward(servername)
  25. rednet.open(modemSide)
  26. rednet.send(DNSID, "Name " .. servername)
  27. local temp, message = rednet.receive(3)
  28. return message
  29. end
  30.  
  31. while true do
  32. if firstCycle then
  33. rednet.open(modemSide)
  34. firstCycle = false
  35. end
  36.  
  37. AUTHID = DNSforward("authserver") + 0
  38. MAILID = DNSforward("mailserver") + 0
  39. print("Mail ID: " .. MAILID)
  40. print("Auth ID: " .. AUTHID)
  41. print("Welcome! Please log in.")
  42. print("Username: ")
  43. username = read()
  44. print("Password:")
  45. password = read("*")
  46.  
  47. rednet.send(AUTHID + 0, username)
  48. sender, message = rednet.receive(2)
  49.  
  50. if message == "Valid" then
  51. print("Username ok!")
  52. rednet.send(AUTHID + 0, password)
  53. elseif message == "Not Valid" then
  54. print("Wrong username!")
  55. loggedin = false
  56. else
  57. print("Rednet error!")
  58. end
  59.  
  60. sender, message = rednet.receive(2)
  61.  
  62. if message == "Authenticated" then
  63. loggedin = true
  64. print("Logged in!")
  65. else
  66. print("Login failed!")
  67. end
  68. os.sleep(2)
  69.  
  70. if loggedin then
  71. term.clear()
  72. term.setCursorPos(1,1)
  73. end
  74.  
  75. while loggedin do
  76.  
  77. print("Legoman technologies email client! Username: " .. DNSreverse(myid))
  78. print("What would you like to do?")
  79. print(" 1 - Check for messages")
  80. print(" 2 - Read a message")
  81. print(" 3 - Send a message")
  82. print(" 4 - Remove a message")
  83. print(" 5 - Log out")
  84. print(">")
  85. input = read()
  86.  
  87. if input == "1" then
  88. print("Checking for messages")
  89. rednet.send(MAILID, "Check")
  90. temp, message = rednet.receive(3)
  91. print("You have: " .. message .. " message(s)")
  92. end
  93.  
  94. if input == "2" then
  95. print("Enter message number to read: ")
  96. messageNum = read()
  97. rednet.send(MAILID, "Read " .. messageNum)
  98. temp, message = rednet.receive(3)
  99. print(message)
  100. end
  101.  
  102. if input == "3" then
  103. print("Enter recipient name: ")
  104. recipient = read()
  105. print("Enter message: ")
  106. toSend = read()
  107. print("Send message to " .. recipient .. " Y/N?")
  108. yn = read()
  109. if yn == "Y" then
  110. rednet.send(MAILID, "Send " .. recipient .. " !" .. toSend)
  111. temp, message = rednet.receive(3)
  112. if message == "Ok" then
  113. print("Sent!")
  114. else
  115. print("Error!")
  116. end
  117. end
  118. end
  119.  
  120. if input == "4" then
  121. print("Enter message number to remove: ")
  122. messageNum = read()
  123. os.sleep(1)
  124. print("Proceed? Y/N?")
  125. yn = read()
  126. if yn == "Y" then
  127. rednet.send(MAILID, "Remove " .. messageNum)
  128. end
  129. end
  130.  
  131. if input == "5" then
  132. term.clear()
  133. term.setCursorPos(1,1)
  134. print("Goodbye!")
  135. os.sleep(1)
  136. rednet.send(DNSID, "Remove")
  137. loggedin = false
  138. term.clear()
  139. term.setCursorPos(1,1)
  140. end
Add Comment
Please, Sign In to add comment