From dc0083230b5f2fb2832c13b687d4d87815b95d5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20P=C3=A9rez-Cerezo?= Date: Sun, 25 Apr 2021 22:14:52 +0200 Subject: add mechanism for moderators to announce they are afk. --- init.lua | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/init.lua b/init.lua index a9bb182..b9a603a 100644 --- a/init.lua +++ b/init.lua @@ -228,6 +228,45 @@ function xban.get_record(player) return record, last_pos end +xban.afk = {} + +minetest.register_chatcommand("mod_afk", { + description = "Set afk", + params = "", + privs = { kick=true }, + func = function(name, params) + local afk = not xban.afk[name] + if params == "on" then + afk = true + elseif params == "off" then + afk = nil + end + xban.afk[name] = afk + if afk then + minetest.chat_send_player(name, "you are now afk") + else + minetest.chat_send_player(name, "you are no longer afk") + end + return true + end, +}) + +minetest.register_chatcommand("is_afk", { + description = "Check if moderator is afk", + params = "", + privs = { kick=true }, + func = function(name, params) + local players = minetest:get_connected_players() + for i=1,#players do + if players[i]:get_player_name() == params then + minetest.chat_send_player(name, "Player "..params.." is"..(xban.afk[params] and "" or " not").." afk") + return true + end + end + minetest.chat_send_player(name, "Player "..params.." is not online") + end, +}) + minetest.register_on_prejoinplayer(function(name, ip) local wl = db.whitelist or { } if wl[name] or wl[ip] then return end @@ -242,7 +281,8 @@ minetest.register_on_prejoinplayer(function(name, ip) if minetest.settings:get("moderate_new_accounts") and not minetest.player_exists(name) then local players = minetest.get_connected_players() for i=1,#players do - if minetest.check_player_privs(players[i]:get_player_name(), {ban = true}) then + local pname = players[i]:get_player_name() + if minetest.check_player_privs(pname, {ban = true}) and not xban.afk[pname] then return end end -- cgit v1.2.3