aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.lua12
1 files changed, 8 insertions, 4 deletions
diff --git a/init.lua b/init.lua
index 81818a8..2075a83 100644
--- a/init.lua
+++ b/init.lua
@@ -73,6 +73,9 @@ end
function xban.ban_player(player, source, expires, reason) --> bool, err
local e = xban.find_entry(player, true)
+ if e.banned then
+ return nil, "Already banned"
+ end
local rec = {
source = source,
time = os.time(),
@@ -195,8 +198,8 @@ minetest.register_chatcommand("xban", {
if not (plname and reason) then
return false, "Usage: /xban <player> <reason>"
end
- xban.ban_player(plname, name, nil, reason)
- return true, ("Banned %s."):format(plname)
+ local ok, e = xban.ban_player(plname, name, nil, reason)
+ return ok, ok and ("Banned %s."):format(plname) or e
end,
})
@@ -214,8 +217,9 @@ minetest.register_chatcommand("xtempban", {
return false, "You must ban for at least 60 seconds."
end
local expires = os.time() + time
- xban.ban_player(plname, name, expires, reason)
- return true, ("Banned %s until %s."):format(plname, os.date("%c", expires))
+ local ok, e = xban.ban_player(plname, name, expires, reason)
+ return ok, (ok and ("Banned %s until %s."):format(
+ plname, os.date("%c", expires)) or e)
end,
})