Mercurial > prosody-modules
annotate mod_block_subscriptions/mod_block_subscriptions.lua @ 4579:b305814bd930
mod_muc_dicebot: A thing to roll dice
Do you see what happens, Jitsi? Do you see what happens when you
make it hard for me to use a proper bot? This is what happens,
Jitsi. This is what happens when you meet a stranger in the alps!
Ahem. In all seriousness, this is more of a quick hack than
anything else. It will look for `.r` in MUC messages and if it
finds it, it'll interpret it as an instruction to roll a few
dice. Injects the results in the body of the message. Eats the
message alive if it is malformed.
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Sat, 29 May 2021 15:17:05 +0200 |
parents | 107eb83aa732 |
children |
rev | line source |
---|---|
773
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 local allowed_presence_types = { probe = true, unavailable = true }; |
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 |
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 function filter_presence(event) |
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 local stanza = event.stanza; |
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 local presence_type = stanza.attr.type; |
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 if presence_type == nil or allowed_presence_types[presence_type] then |
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 return; |
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 end |
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 return true; -- Drop |
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 end |
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 |
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 module:hook("pre-presence/bare", filter_presence, 200); -- Client sending |
107eb83aa732
mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 module:hook("presence/bare", filter_presence, 200); -- Client receiving |