diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-05-31 18:10:27 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-05-31 18:10:27 +0200 |
commit | ea4263290b2e7d82b29cc9809d98bf33528b1c61 (patch) | |
tree | 74ae3a5c36f990ceeb272410413f0be2bcc40e07 /example/chat-client.lua | |
parent | fae336d1a2d613fd00640ed6ccbb9eb386086c82 (diff) | |
download | hydra-dragonfire-ea4263290b2e7d82b29cc9809d98bf33528b1c61.tar.xz |
Event system
Diffstat (limited to 'example/chat-client.lua')
-rwxr-xr-x | example/chat-client.lua | 23 |
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 |