Software /
code /
prosody-modules
Diff
mod_broadcast/mod_broadcast.lua @ 1015:0fc9e1f086c1
mod_broadcast: Allow admins to broadcast
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sun, 19 May 2013 22:09:54 +0100 |
parent | 786:e318a341d332 |
child | 1016:9f7c97e55593 |
line wrap: on
line diff
--- a/mod_broadcast/mod_broadcast.lua Sat May 18 15:31:14 2013 +0100 +++ b/mod_broadcast/mod_broadcast.lua Sun May 19 22:09:54 2013 +0100 @@ -1,3 +1,4 @@ +local is_admin = require "core.usermanager".is_admin; local allowed_senders = module:get_option_set("broadcast_senders", {}); local jid_bare = require "util.jid".bare; @@ -18,12 +19,13 @@ function send_message(event) local stanza = event.stanza; - if allowed_senders:contains(jid_bare(stanza.attr.from)) then + local from = stanza.attr.from; + if is_admin(from) or allowed_senders:contains(jid_bare(from)) then local c = send_to_online(stanza); - module:log("debug", "Broadcast stanza from %s to %d online users", stanza.attr.from, c); + module:log("debug", "Broadcast stanza from %s to %d online users", from, c); return true; else - module:log("warn", "Broadcasting is not allowed for %s", stanza.attr.from); + module:log("warn", "Broadcasting is not allowed for %s", from); end end