annotate mod_admin_message/mod_admin_message.lua @ 6252:1661f6a74141

Multible community modules: Update Readme diff --git a/mod_admin_blocklist/README.md b/mod_admin_blocklist/README.md --- a/mod_admin_blocklist/README.md +++ b/mod_admin_blocklist/README.md @@ -24,8 +24,9 @@ admin_blocklist_roles = { "prosody:opera # Compatibility Prosody-Version Status - --------------- ------ - trunk* Works - 0.12 Works + -------------- ------ + trunk* Works + 13 Works + 0.12 Works -*as of 2024-12-21 + *as of 2025-06-13 diff --git a/mod_audit/README.md b/mod_audit/README.md --- a/mod_audit/README.md +++ b/mod_audit/README.md @@ -52,6 +52,7 @@ prosodyctl mod_audit user@example.com # Compatibilty -Requires Prosody **trunk** as of 2025-02-11. - -Does not work with Prosody 0.12 or earlier. + Prosody-Version Status + ----- ------ + 13 Works + 0.12 Does not work diff --git a/mod_csi_grace_period/README.md b/mod_csi_grace_period/README.md --- a/mod_csi_grace_period/README.md +++ b/mod_csi_grace_period/README.md @@ -16,9 +16,9 @@ pocket is not the best use of radio time Works with [mod_csi_simple][doc:modules:mod_csi_simple] which is included with Prosody. - ------- -------------- - trunk* Works - 0.12 Works - ------- -------------- + ------- ------- + trunk* Works + 13 Works + 0.12 Works -*as of 2024-10-22 + *as of 2025-06-13 diff --git a/mod_http_upload_external/README.md b/mod_http_upload_external/README.md --- a/mod_http_upload_external/README.md +++ b/mod_http_upload_external/README.md @@ -19,7 +19,6 @@ Implementations * [PHP implementation](https://hg.prosody.im/prosody-modules/raw-file/tip/mod_http_upload_external/share.php) * [Python3+Flask implementation](https://github.com/horazont/xmpp-http-upload) * [Go implementation, Prosody Filer](https://github.com/ThomasLeister/prosody-filer) -* [Go implementation, HMAC File Server](https://github.com/PlusOne/hmac-file-server) * [Perl implementation for nginx](https://github.com/weiss/ngx_http_upload) * [Rust implementation](https://gitlab.com/nyovaya/xmpp-http-upload) @@ -88,9 +87,10 @@ Compatibility ============= Prosody-Version Status - ---------------- -------------------- - trunk Works as of 24-12-12 - 0.12 Works + ---------------- -------------------- + trunk Works as of 25-06-13 + 13 Works + 0.12 Works Implementation ============== diff --git a/mod_muc_moderation/README.md b/mod_muc_moderation/README.md --- a/mod_muc_moderation/README.md +++ b/mod_muc_moderation/README.md @@ -27,10 +27,11 @@ modules_enabled = { # Compatibility - ------- --------------- - trunk Works^[as of 2024-10-22] - 0.12 Works - ------- --------------- + ------- --------------- + trunk Works^[as of 2025-06-13] + 13 Works + 0.12 Works + ------- --------------- ## XEP version diff --git a/mod_s2s_idle_timeout/README.md b/mod_s2s_idle_timeout/README.md --- a/mod_s2s_idle_timeout/README.md +++ b/mod_s2s_idle_timeout/README.md @@ -25,9 +25,10 @@ Compatibility ============= Prosody Version Status - ----------------- ----------- - trunk[^1] Works - 0.12 Works - ----------------- ----------- + ----------------- ----------- + trunk[^1] Works + 13 Works + 0.12 Works + ----------------- ----------- -[^1]: as of 2024-10-22 +[^1]: as of 2025-06-13 diff --git a/mod_s2s_keepalive/README.md b/mod_s2s_keepalive/README.md --- a/mod_s2s_keepalive/README.md +++ b/mod_s2s_keepalive/README.md @@ -34,9 +34,10 @@ Compatibility ============= Prosody Version Status - ----------------- ----------- - trunk[^1] Works - 0.12 Works - ----------------- ----------- + ----------------- ----------- + trunk[^1] Works + 13 Works + 0.12 Works + ----------------- ----------- -[^1]: as of 2024-11-11 +[^1]: as of 2025-06-13
author Menel <menel@snikket.de>
date Fri, 13 Jun 2025 09:53:41 +0200
parents 65082d91950e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1594
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
1 -- Prosody IM
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
2 --
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
3 -- mod_admin_message -- Console-over-XMPP implementation.
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
4 --
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
5 -- This module depends on Prosody's admin_telnet module
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
6 --
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
7 -- Copyright (C) 2008-2010 Matthew Wild
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
8 -- Copyright (C) 2008-2010 Waqas Hussain
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
9 -- Copyright (C) 2012-2013 Mikael Berthe
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
10 --
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
11 -- This project is MIT/X11 licensed. Please see the
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
12 -- COPYING file in the source package for more information.
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
13 --
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
14
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
15 local st = require "util.stanza";
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
16 local um_is_admin = require "core.usermanager".is_admin;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
17
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
18 local admin_telnet = module:depends("admin_telnet");
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
19 local telnet_def_env = module:shared("/*/admin_telnet/env");
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
20 local telnet_commands = module:shared("/*/admin_telnet/commands");
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
21 local default_env_mt = { __index = telnet_def_env };
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
22
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
23 local host = module.host;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
24
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
25 -- Create our own session. print() will store the results in a text
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
26 -- string. send(), quit(), disconnect() are no-op.
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
27 local function new_session ()
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
28 local session = {
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
29 send = function () end;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
30 quit = function () end;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
31 disconnect = function () end;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
32 };
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
33
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
34 session.print = function (...)
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
35 local t = {};
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
36 for i=1,select("#", ...) do
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
37 t[i] = tostring(select(i, ...));
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
38 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
39 local text = "| "..table.concat(t, "\t");
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
40 if session.fulltext then
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
41 session.fulltext = session.fulltext .. "\n" .. text;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
42 else
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
43 session.fulltext = text;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
44 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
45 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
46
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
47 session.env = setmetatable({}, default_env_mt);
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
48
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
49 -- Load up environment with helper objects
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
50 for name, t in pairs(telnet_def_env) do
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
51 if type(t) == "table" then
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
52 session.env[name] = setmetatable({ session = session },
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
53 { __index = t });
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
54 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
55 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
56
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
57 return session;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
58 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
59
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
60 local function on_message(event)
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
61 -- Check the type of the incoming stanza to avoid loops:
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
62 if event.stanza.attr.type == "error" then
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
63 return; -- We do not want to reply to these, so leave.
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
64 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
65
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
66 local userjid = event.stanza.attr.from;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
67 local bodytag = event.stanza:get_child("body");
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
68 local body = bodytag and bodytag:get_text() or "";
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
69 if not body or body == "" then
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
70 -- We do not reply to empty messages (chatstates, etc.)
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
71 return true;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
72 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
73
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
74 -- Check the requester is an admin user
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
75 if not um_is_admin(userjid, module.host) then
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
76 module:log("info", "Ignored request from non-admin: %s",
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
77 userjid);
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
78 return;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
79 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
80
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
81 -- Create a session in order to use an admin_telnet-like environment
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
82 local session = new_session();
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
83
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
84 -- Process the message using admin_telnet's onincoming function
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
85 admin_telnet.console:process_line(session, body.."\n");
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
86
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
87 -- Strip trailing blank line
2636
9ed6d44b9fed mod_admin_message: Fix invalid character escape (fixes #626)
Kim Alvefur <zash@zash.se>
parents: 1594
diff changeset
88 session.fulltext = tostring(session.fulltext):gsub("\n|%s*$", "")
1594
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
89
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
90 -- Send the reply stanza
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
91 local reply_stanza = st.message({ from = host, to = userjid,
2887
65082d91950e Many modules: Simplify st.message(…):tag("body"):text(…):up() into st.message(…, …)
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 2636
diff changeset
92 type = "chat" }, session.fulltext);
1594
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
93 module:send(reply_stanza);
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
94
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
95 return true;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
96 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
97
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
98 local function on_presence(event)
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
99
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
100 local send_presence = false;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
101
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
102 local userjid = event.stanza.attr.from;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
103
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
104 -- Check the requester is an admin user
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
105 if not um_is_admin(userjid, module.host) then
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
106 module:log("info", "Ignored presence from non-admin: %s",
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
107 userjid);
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
108 return;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
109 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
110
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
111 if (event.stanza.attr.type == "subscribe") then
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
112 module:log("info", "Subscription request from %s", userjid);
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
113 send_presence = true;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
114 -- Send a subscription ack
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
115 local presence_stanza = st.presence({ from = host,
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
116 to = userjid, type = "subscribed",
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
117 id = event.stanza.attr.id });
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
118 module:send(presence_stanza);
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
119 elseif (event.stanza.attr.type == "probe") then
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
120 send_presence = true;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
121 elseif (event.stanza.attr.type == "unsubscribe") then
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
122 -- For information only...
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
123 module:log("info", "Unsubscription request from %s", userjid);
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
124 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
125
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
126 if (send_presence == true) then
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
127 -- Send a presence stanza
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
128 module:send(st.presence({ from = host, to = userjid }));
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
129 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
130 return true;
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
131 end
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
132
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
133 module:hook("message/bare", on_message);
620cc035ae1e mod_admin_message: New IM-based administration console
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
134 module:hook("presence/bare", on_presence);