Page MenuHome1F616EMO Bugtracker

No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None
diff --git a/additional_role/init.lua b/additional_role/init.lua
index dfc9e49..b4fd40c 100644
--- a/additional_role/init.lua
+++ b/additional_role/init.lua
@@ -1,20 +1,36 @@
-- twi_mods/additional_role/init.lua
-- Additional roles indicators
-- Copyright (C) 2024 1F616EMO
-- SPDX-License-Identifier: LGPL-3.0-or-later
-local S = minetest.get_translator("additional_role")
+local S = core.get_translator("additional_role")
-minetest.register_privilege("role_helper", {
+core.register_privilege("role_helper", {
description = S("Marked as helper in the chatroom"),
give_to_singleplayer = false,
})
beerchat_roles.register_role({
name = S("Helper"),
color = "#20F99F",
func = function(name)
- return minetest.check_player_privs(name, { role_helper = true })
+ return core.check_player_privs(name, { role_helper = true })
end,
sort = 8900,
})
+
+local auth
+mail.register_recipient_handler(function(sender, name)
+ if name ~= "additional_role:helper" then return nil end
+
+ auth = auth or core.get_auth_handler()
+ local list_dest = {}
+ for i_name in auth.iterate() do
+ local privs = core.get_player_privs(i_name)
+ if i_name ~= sender and (privs.server or privs.ban or privs.role_helper) then
+ list_dest[#list_dest+1] = i_name
+ end
+ end
+
+ return true, list_dest
+end)
diff --git a/additional_role/mod.conf b/additional_role/mod.conf
index 3645328..d676def 100644
--- a/additional_role/mod.conf
+++ b/additional_role/mod.conf
@@ -1,2 +1,2 @@
name = additional_role
-depends = beerchat_roles
\ No newline at end of file
+depends = mail, beerchat_roles
\ No newline at end of file

File Metadata

Mime Type
text/x-diff
Expires
Sat, Feb 21, 7:31 AM (1 w, 4 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
6e/cd/9604c6e57a729ec655a1cceabebd
Default Alt Text
(1 KB)

Event Timeline