Advertisement
kirkarr

Untitled

Jan 25th, 2024 (edited)
824
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.79 KB | None | 0 0
  1. local sx,sy = term.getSize()
  2. term.clear()
  3. term.setCursorPos(1,1)
  4. term.write("Welcome to KirkaChat")
  5. term.setCursorPos(1,2)
  6. term.write("Enter name: ")
  7. local name = read()
  8. local url = "wss://439e3230-6b04-4347-bcd6-2b00f48e7f62-00-11b99e27i1uiq.worf.replit.dev/"
  9. local messages = {}
  10. local ws = nil
  11. if name ~= "" then
  12.     http.websocketAsync(url)
  13.     repeat
  14.         event, conurl, ws= os.pullEvent("websocket_success")
  15.         print(conurl)
  16.     until conurl == url
  17.     term.clear()
  18.     term.setCursorPos(1,1)
  19.     term.write("Connected to chat")
  20.     sleep(1)
  21.     parallel.waitForAny(function ()
  22.         while true do
  23.             for i, msg in pairs(messages) do
  24.                 term.setCursorPos(1,i)
  25.                 term.write(msg)
  26.             end
  27.             if #messages > sy/2 then
  28.                 for i,msg in pairs(messages) do
  29.                     if messages[i+1] ~= nil then
  30.                         messages[i] = messages[i+1]
  31.                     end
  32.                 end
  33.             end
  34.             sleep(0.1)
  35.         end
  36.     end, function ()
  37.         while true do
  38.             local event, key, is_held = os.pullEvent("key")
  39.             term.setCursorPos(1,sy/2+1)
  40.             term.write(key.." "..keys.getName(key))
  41.             --ws.send(textutils.serializeJSON({name=name,text=text}))
  42.             --term.clear()
  43.         end
  44.     end, function ()
  45.         while true do
  46.             local event, uru, message = os.pullEvent("websocket_message")
  47.             messages[#messages+1] = message
  48.             term.clear()
  49.             term.setCursorPos(1,sy/2+1)
  50.             term.write("Enter message: ")
  51.             if #messages > sy/2 then
  52.                 for i,msg in pairs(messages) do
  53.                     if messages[i+1] ~= nil then
  54.                         messages[i] = messages[i+1]
  55.                     end
  56.                 end
  57.             end
  58.         end
  59.     end)
  60. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement