Software /
code /
prosody-modules
File
mod_watch_spam_reports/mod_watch_spam_reports.lua @ 5824:73887dcb2129
mod_pubsub_serverinfo: New module that uses pub/sub to make accessible server info
This first implemetnation is laughably simple: it only adds a disco#info
feature. This flags 'opt-in' for inclusion of local domain names in the
data exposed by other domains (per the domain), which will allow servers to
be listed in the XMPP Network Graph at https://xmppnetwork.goodbytes.im
Hopefully, this bare-boned implementation acts as a stepping stone for
future improvements.
author | Guus der Kinderen <guus.der.kinderen@gmail.com> |
---|---|
date | Thu, 28 Dec 2023 11:02:35 +0100 |
parent | 5022:97d34d520cfa |
line wrap: on
line source
local jid = require "util.jid"; local set = require "util.set"; local st = require "util.stanza"; local usermanager = require "core.usermanager"; local host = module.host; local admins; if usermanager.get_jids_with_role then admins = set.new(usermanager.get_jids_with_role("prosody:admin", host)); else -- COMPAT w/pre-0.12 admins = module:get_option_inherited_set("admins"); end module:depends("spam_reporting") module:hook("spam_reporting/spam-report", function(event) local reporter_bare_jid = jid.bare(event.stanza.attr.from) local report = reporter_bare_jid.." reported spam from "..event.jid..": "..(event.reason or "no reason given") for admin_jid in admins do module:send(st.message({from=host, type="chat",to=admin_jid}, report)); end end) module:hook("spam_reporting/abuse-report", function(event) local reporter_bare_jid = jid.bare(event.stanza.attr.from) local report = reporter_bare_jid.." reported abuse from "..event.jid..": "..(event.reason or "no reason given") for admin_jid in admins do module:send(st.message({from=host, type="chat",to=admin_jid}, report)); end end)