Software /
code /
prosody-modules
Annotate
mod_carbons_adhoc/mod_carbons_adhoc.lua @ 5939:db5128d1a16c
mod_report_forward: Fix traceback when reporting a specific message (thanks singpolyma)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 30 May 2024 17:55:07 +0100 |
parent | 3662:a6c51f380777 |
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); |