Software /
code /
prosody-modules
Annotate
mod_muc_block_pm/mod_muc_block_pm.lua @ 5615:1893ae742f66
mod_http_oauth2: Show errors on device flow user code entry page
If the user enters the code incorrectly, having to click back to try
again is no fun. Instead, show the error and the code entry form again.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 19 Jul 2023 13:05:47 +0200 |
parent | 5598:c7e532ac6bf7 |
child | 5616:e469642e6a6c |
rev | line source |
---|---|
5598
c7e532ac6bf7
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se>
parents:
4027
diff
changeset
|
1 local st = require "util.stanza"; |
2588
69d3e0037435
mod_muc_block_pm: Prevent unaffiliated users from sending private messages in MUC
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
5598
c7e532ac6bf7
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se>
parents:
4027
diff
changeset
|
3 module:hook("muc-private-message", function(event) |
c7e532ac6bf7
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se>
parents:
4027
diff
changeset
|
4 local stanza, room = event.stanza, event.room; |
c7e532ac6bf7
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se>
parents:
4027
diff
changeset
|
5 local from_occupant = room:get_occupant_by_nick(stanza.attr.from); |
c7e532ac6bf7
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se>
parents:
4027
diff
changeset
|
6 |
c7e532ac6bf7
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se>
parents:
4027
diff
changeset
|
7 if from_occupant and from_occupant.role == "moderator" then |
c7e532ac6bf7
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se>
parents:
4027
diff
changeset
|
8 return -- moderators may message anyone |
3636
afedc2430b0d
mod_muc_block_pm: Add support for Prosody 0.11
JC Brand <jc@opkode.com>
parents:
2588
diff
changeset
|
9 end |
2588
69d3e0037435
mod_muc_block_pm: Prevent unaffiliated users from sending private messages in MUC
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 |
5598
c7e532ac6bf7
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se>
parents:
4027
diff
changeset
|
11 local to_occupant = room:get_occupant_by_nick(stanza.attr.to) |
c7e532ac6bf7
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se>
parents:
4027
diff
changeset
|
12 if to_occupant and to_occupant.role == "moderator" then |
c7e532ac6bf7
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se>
parents:
4027
diff
changeset
|
13 return -- messaging moderators is ok |
4027
291a45919988
mod_muc_block_pm: Don't respond to error stanzas
JC Brand <jc@opkode.com>
parents:
3636
diff
changeset
|
14 end |
2588
69d3e0037435
mod_muc_block_pm: Prevent unaffiliated users from sending private messages in MUC
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 |
5598
c7e532ac6bf7
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se>
parents:
4027
diff
changeset
|
16 room:route_to_occupant(from_occupant, st.error_reply(stanza, "cancel", "policy-violation", "Private messages are disabled", room.jid)) |
c7e532ac6bf7
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se>
parents:
4027
diff
changeset
|
17 return false; |
2588
69d3e0037435
mod_muc_block_pm: Prevent unaffiliated users from sending private messages in MUC
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 end, 1); |