Annotate

mod_carbons_adhoc/mod_carbons_adhoc.lua @ 3532:85c357b69eec

mod_csi_muc_priorities: Reduce importance of group chat messages This helps if you are in more noisy public channels than small private group chats. The short term plan is to give users the ability to set MUC JIDs as either high or low priority and use that. Long term it would be great to be able to automatically classify MUCs as public channels vs private group chats.
author Kim Alvefur <zash@zash.se>
date Mon, 01 Apr 2019 00:15:13 +0200
parent 1343:7dbde05b48a9
child 3662:a6c51f380777
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 result;
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
19
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
20 local bare_jid = jid_bare(data.from);
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
21 local user_sessions = bare_sessions[bare_jid];
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
22
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
23 local result = "";
1343
7dbde05b48a9 all the things: Remove trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents: 890
diff changeset
24
890
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
25 user_sessions = user_sessions and user_sessions.sessions;
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
26 for _, session in pairs(user_sessions) do
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
27 if session.full_jid then
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
28 result = result .. session.full_jid .. ": " ..
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
29 ( (session.want_carbons == xmlns_carbons_v2 and "v2" ) or
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
30 (session.want_carbons == xmlns_carbons_v1 and "v1" ) or
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
31 (session.want_carbons == xmlns_carbons_v0 and "v0" ) or
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
32 "none" ) .. "\n";
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
33 end
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
34 end
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
35
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
36 return { info = result, status = "completed" };
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
37 end
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
38
1343
7dbde05b48a9 all the things: Remove trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents: 890
diff changeset
39 local status_desc = adhoc_new("Carbons: Get Status",
890
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
40 "mod_carbons_adhoc#status", adhoc_status);
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
41
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
42 module:add_item("adhoc", status_desc);