Annotate

plugins/mod_muc_unique.lua @ 13575:750ff9f579e2

mod_c2s, mod_s2s: Support for queuing callbacks to run in session thread This allows certain session-specific code that needs to run in the async context, but is itself triggered outside of that context (e.g. timers), to be queued. An example of this is the session destruction code of mod_smacks, when the hibernation timeout is reached.
author Matthew Wild <mwild1@gmail.com>
date Thu, 21 Nov 2024 17:02:07 +0000
parent 12977:74b9e05af71e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6091
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
1 -- XEP-0307: Unique Room Names for Multi-User Chat
12977
74b9e05af71e plugins: Prefix module imports with prosody namespace
Kim Alvefur <zash@zash.se>
parents: 8878
diff changeset
2 local st = require "prosody.util.stanza";
74b9e05af71e plugins: Prefix module imports with prosody namespace
Kim Alvefur <zash@zash.se>
parents: 8878
diff changeset
3 local unique_name = require "prosody.util.id".medium;
6091
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
4 module:add_feature "http://jabber.org/protocol/muc#unique"
6409
5fd6c739e9bf plugins/mod_muc_unique: Fix undefined global access (thanks Lance)
Waqas Hussain <waqas20@gmail.com>
parents: 6091
diff changeset
5 module:hook("iq-get/host/http://jabber.org/protocol/muc#unique:unique", function(event)
6091
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
6 local origin, stanza = event.origin, event.stanza;
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
7 origin.send(st.reply(stanza)
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
8 :tag("unique", {xmlns = "http://jabber.org/protocol/muc#unique"})
8878
7c3e16fdaf1d mod_muc_unique: Use util.id for more compact identifiers
Kim Alvefur <zash@zash.se>
parents: 6409
diff changeset
9 :text(unique_name():lower())
6091
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
10 );
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
11 return true;
3a1c39b31497 plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
daurnimator <quae@daurnimator.com>
parents:
diff changeset
12 end,-1);