From 643e4202f4c5a5ee7a87779ffb69928e685db451 Mon Sep 17 00:00:00 2001 From: ubq323 Date: Mon, 26 Aug 2024 16:11:02 +0100 Subject: ooo --- xmpp.lua | 67 +++++++++++++++++++++++++--------------------------------------- 1 file changed, 26 insertions(+), 41 deletions(-) (limited to 'xmpp.lua') diff --git a/xmpp.lua b/xmpp.lua index a2ea6cb..aebbee9 100644 --- a/xmpp.lua +++ b/xmpp.lua @@ -8,17 +8,17 @@ local cqueues = require'cqueues' local socket = require'cqueues.socket' -local function connect(...) - local sock = assert(socket.connect(... or server, 5222)) +local function connect() + local sock = assert(socket.connect(server, 5222)) sock:setmode('bn','bn') local start = ([[ ]]):format(jid, server) + -- state of the art xml parser local function check_and_send(test, text) local x = sock:read('-2048') print(x) - assert(x:find(test)) if text then sock:write(text) end end @@ -38,50 +38,35 @@ local function connect(...) return sock end --- sock:write[[ --- --- --- --- --- --- --- --- --- --- --- ]] - -local sock = connect(...) local mucs = { - 'ja@conference.ubq323.website' + 'ja@conference.ubq323.website', + 'a@conference.ubq323.website', } -for _, muc in ipairs(mucs) do - sock:write(([[ - - - ]]):format(muc .. '/wilson')) -end +local xml = require'xml' +local pprint=require'pprint' +local function run_xmpp() + local sock = connect() --- sock:write[[ --- --- --- --- --- --- ]] + for _, muc in ipairs(mucs) do + sock:write(([[ + + + + + ]]):format(muc .. '/wilson')) + end -local xml=require'xml' -for x in xml.stanzae(function() return sock:read('-2048') end) do - print(x) + for x in xml.stanzae(function() return sock:read('-2048') end) do + -- pprint(x) + local body = x'body' and x'body'[1] + if x.label == 'message' then pprint('M', x.xarg.from, body) end + end end +local cq = cqueues.new() +cq:wrap(run_xmpp) +pprint(cq:loop()) + -- cgit v1.2.3