diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2021-09-11 12:11:40 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2021-09-11 12:11:40 +0200 |
commit | cfe80dd4974ced579d9a00692712a6312a6a641c (patch) | |
tree | 6cd5f23cbe30c6b6795f3e764de7ff91d67aa7bc /chatcommands.go | |
parent | 27d3b809f6309b92e130949c2421964045da320a (diff) |
Add ban control commands
Diffstat (limited to 'chatcommands.go')
-rw-r--r-- | chatcommands.go | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/chatcommands.go b/chatcommands.go index 7aa25ae..1d4fa20 100644 --- a/chatcommands.go +++ b/chatcommands.go @@ -333,6 +333,45 @@ func init() { return "Player kicked." }, }) + proxy.RegisterChatCmd(proxy.ChatCmd{ + Name: "ban", + Perm: "cmd_ban", + Help: "Ban a player from using the proxy.", + Usage: "ban <name>", + Handler: func(cc *proxy.ClientConn, args ...string) string { + if len(args) != 1 { + return "Usage: ban <name>" + } + + clt := proxy.Find(args[0]) + if clt == nil { + return "Player not connected." + } + + if err := clt.Ban(); err != nil { + return "Could not ban. Error: " + err.Error() + } + + return "Player banned." + }, + }) + proxy.RegisterChatCmd(proxy.ChatCmd{ + Name: "unban", + Perm: "cmd_unban", + Help: "Remove a player from the ban list. Accepts addresses and names.", + Usage: "unban <name>", + Handler: func(cc *proxy.ClientConn, args ...string) string { + if len(args) != 1 { + return "Usage: unban <name | address>" + } + + if err := proxy.Unban(args[0]); err != nil { + return "Could not unban. Error: " + err.Error() + } + + return "Player unbanned." + }, + }) proxy.RegisterChatCmd(proxy.ChatCmd{ Name: "help", |