aboutsummaryrefslogtreecommitdiff
path: root/example/chat-client.lua
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2022-05-31 18:10:27 +0200
committerElias Fleckenstein <eliasfleckenstein@web.de>2022-05-31 18:10:27 +0200
commitea4263290b2e7d82b29cc9809d98bf33528b1c61 (patch)
tree74ae3a5c36f990ceeb272410413f0be2bcc40e07 /example/chat-client.lua
parentfae336d1a2d613fd00640ed6ccbb9eb386086c82 (diff)
downloadhydra-dragonfire-ea4263290b2e7d82b29cc9809d98bf33528b1c61.tar.xz
Event system
Diffstat (limited to 'example/chat-client.lua')
-rwxr-xr-xexample/chat-client.lua23
1 files changed, 14 insertions, 9 deletions
diff --git a/example/chat-client.lua b/example/chat-client.lua
index c1828ec..889369f 100755
--- a/example/chat-client.lua
+++ b/example/chat-client.lua
@@ -2,19 +2,24 @@
local escapes = require("escapes")
local client = require("client")()
-client:subscribe("chat_msg")
+client:enable("pkts")
+client.pkts:subscribe("chat_msg")
+
client:connect()
-while not hydra.canceled() do
- local pkt, interrupt = client:poll(1)
+while true do
+ local evt = client:poll(1)
- if pkt then
- print(escapes.strip_all(pkt.text))
- elseif interrupt then
- client:send("chat_msg", {msg = "test"})
- else
- print("disconnected")
+ if not evt then
+ break
+ end
+
+ if not evt or evt.type == "interrupt" or evt.type == "disconnect" then
break
+ elseif evt.type == "pkt" then
+ print(escapes.strip_all(evt.pkt_data.text))
+ elseif evt.type == "timeout" then
+ client:send("chat_msg", {msg = "test"})
end
end