aboutsummaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
authorDiego Martinez <kaeza@users.sf.net>2014-05-23 04:53:11 -0300
committerDiego Martinez <kaeza@users.sf.net>2014-05-23 04:53:11 -0300
commitccab1f35c743071442046dfb8e694bc08d2c0dfb (patch)
treed83c308f109afe01586dc9c30d16dbc771ac6d70 /init.lua
parentd47e87e390b018ac5510bb2143eb0e66f6bc2eeb (diff)
downloadxban2-ccab1f35c743071442046dfb8e694bc08d2c0dfb.tar.gz
xban2-ccab1f35c743071442046dfb8e694bc08d2c0dfb.tar.bz2
xban2-ccab1f35c743071442046dfb8e694bc08d2c0dfb.zip
Add command to list players' ban record.
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua35
1 files changed, 35 insertions, 0 deletions
diff --git a/init.lua b/init.lua
index 603d060..0b8a42d 100644
--- a/init.lua
+++ b/init.lua
@@ -200,6 +200,41 @@ minetest.register_chatcommand("xunban", {
end,
})
+minetest.register_chatcommand("xban_record", {
+ description = "Show the ban records of a player",
+ params = "<player_or_ip>",
+ privs = { ban=true },
+ func = function(name, params)
+ local plname = params:match("%S+")
+ if not plname then
+ minetest.chat_send_player(name,
+ "Usage: /xban_record <player_or_ip>")
+ return
+ end
+ local e = xban.find_entry(params)
+ if not e then
+ minetest.chat_send_player(name,
+ ("[xban_record] No entry for `%s'"):format(params))
+ return
+ elseif (not e.record) or (#e.record == 0) then
+ minetest.chat_send_player(name,
+ ("[xban_record] `%s' has no ban records"):format(params))
+ return
+ end
+ for _, rec in ipairs(e.record) do
+ local msg
+ if rec.expires then
+ msg = ("%s, Expires: %s"):format(
+ rec.reason, os.date("%c", e.expires))
+ else
+ msg = rec.reason
+ end
+ minetest.chat_send_player(name,
+ ("[%s]: %s"):format(os.date("%c", e.time), msg))
+ end
+ end,
+})
+
local function check_temp_bans()
minetest.after(60, check_temp_bans)
local to_rm = { }