Mercurial > prosody-modules
annotate mod_carbons_adhoc/mod_carbons_adhoc.lua @ 4974:807007913f67
mod_log_json: Prefer native Lua table.pack over Prosody util.table one
Prosody is removing support for Lua 5.1, which was the reason for
util.table.pack to exist in the first place, since Lua 5.2+ provides
table.pack. In prosody rev 5eaf77114fdb everything was switched over to
use table.pack, opening the door for removing util.table.pack at some
point. This change here is to prepare for that future eventuality.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 11 Jul 2022 20:08:41 +0200 |
parents | a6c51f380777 |
children |
rev | line source |
---|---|
1343
7dbde05b48a9
all the things: Remove trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
890
diff
changeset
|
1 -- Implement a Adhoc command which will show a user |
890
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
2 -- the status of carbons generation in regard to his clients |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
3 -- |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
4 -- Copyright (C) 2012 Michael Holzt |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
5 -- |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
6 -- This file is MIT/X11 licensed. |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
7 |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
8 local st = require "util.stanza"; |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
9 local jid_bare = require "util.jid".bare; |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
10 local adhoc_new = module:require "adhoc".new; |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
11 local xmlns_carbons_v2 = "urn:xmpp:carbons:2"; |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
12 local xmlns_carbons_v1 = "urn:xmpp:carbons:1"; |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
13 local xmlns_carbons_v0 = "urn:xmpp:carbons:0"; |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
14 |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
15 local bare_sessions = bare_sessions; |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
16 |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
17 local function adhoc_status(self, data, state) |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
18 local bare_jid = jid_bare(data.from); |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
19 local user_sessions = bare_sessions[bare_jid]; |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
20 |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
21 local result = ""; |
1343
7dbde05b48a9
all the things: Remove trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
890
diff
changeset
|
22 |
890
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
23 user_sessions = user_sessions and user_sessions.sessions; |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
24 for _, session in pairs(user_sessions) do |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
25 if session.full_jid then |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
26 result = result .. session.full_jid .. ": " .. |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
27 ( (session.want_carbons == xmlns_carbons_v2 and "v2" ) or |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
28 (session.want_carbons == xmlns_carbons_v1 and "v1" ) or |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
29 (session.want_carbons == xmlns_carbons_v0 and "v0" ) or |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
30 "none" ) .. "\n"; |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
31 end |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
32 end |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
33 |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
34 return { info = result, status = "completed" }; |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
35 end |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
36 |
1343
7dbde05b48a9
all the things: Remove trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
890
diff
changeset
|
37 local status_desc = adhoc_new("Carbons: Get Status", |
890
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
38 "mod_carbons_adhoc#status", adhoc_status); |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
39 |
7ac1b8a799be
mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff
changeset
|
40 module:add_item("adhoc", status_desc); |