Software / code / prosody
Comparison
plugins/mod_scansion_record.lua @ 9368:0c5177738ffd
mod_scansion_record: Record connected clients as scansion Objects declarations
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 22 Sep 2018 18:32:22 +0200 |
| parent | 9367:577c3a7f5045 |
| child | 9369:dd452f932b67 |
comparison
equal
deleted
inserted
replaced
| 9367:577c3a7f5045 | 9368:0c5177738ffd |
|---|---|
| 19 scan:write(string); | 19 scan:write(string); |
| 20 end | 20 end |
| 21 | 21 |
| 22 local function record_header(string) | 22 local function record_header(string) |
| 23 head:write(string); | 23 head:write(string); |
| 24 end | |
| 25 | |
| 26 local function record_object(class, name, props) | |
| 27 head:write(("[%s] %s\n"):format(class, name)); | |
| 28 for k,v in pairs(props) do | |
| 29 head:write(("\t%s: %s\n"):format(k, v)); | |
| 30 end | |
| 31 head:write("\n"); | |
| 24 end | 32 end |
| 25 | 33 |
| 26 local function record_event(session, event) | 34 local function record_event(session, event) |
| 27 record(session.scansion_id.." "..event.."\n\n"); | 35 record(session.scansion_id.." "..event.."\n\n"); |
| 28 end | 36 end |
| 65 end | 73 end |
| 66 session.scansion_character = user.character; | 74 session.scansion_character = user.character; |
| 67 session.scansion_device = device; | 75 session.scansion_device = device; |
| 68 session.scansion_id = user.character..(device ~= "" and "'s "..device or device); | 76 session.scansion_id = user.character..(device ~= "" and "'s "..device or device); |
| 69 | 77 |
| 78 record_object("Client", user.character, { | |
| 79 jid = session.full_jid, | |
| 80 password = "password", | |
| 81 }); | |
| 82 | |
| 70 module:log("warn", "Connected: %s's %s", user.character, device); | 83 module:log("warn", "Connected: %s's %s", user.character, device); |
| 71 record_event(session, "connects"); | 84 record_event(session, "connects"); |
| 72 | 85 |
| 73 filters.add_filter(session, "stanzas/in", record_stanza_in); | 86 filters.add_filter(session, "stanzas/in", record_stanza_in); |
| 74 filters.add_filter(session, "stanzas/out", record_stanza_out); | 87 filters.add_filter(session, "stanzas/out", record_stanza_out); |