Software /
code /
prosody
File
plugins/mod_authz_internal.lua @ 11498:d61ec5e6ee16
MUC: Allow overriding occupant object from groupchat message event
Use case: Enable module that provides a virtual occupant object for bots
Before, if there is no occupant then either some other part of MUC would
reject the message or `occupant.nick` would have caused an error.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 25 Mar 2021 13:18:23 +0100 |
parent | 11474:8fba807e5256 |
child | 11745:3a2d58a39872 |
line wrap: on
line source
local normalize = require "util.jid".prep; local admin_jids = module:get_option_inherited_set("admins", {}) / normalize; local host = module.host; local role_store = module:open_store("roles"); local admin_role = { ["prosody:admin"] = true }; function get_user_roles(user) if admin_jids:contains(user.."@"..host) then return admin_role; end return role_store:get(user); end function set_user_roles(user, roles) role_store:set(user, roles) return true; end function get_jid_roles(jid) if admin_jids:contains(jid) then return admin_role; end return nil; end function set_jid_roles(jid) -- luacheck: ignore 212 return false; end