Add /unban Command
This commit is contained in:
@@ -569,6 +569,22 @@ namespace reallife_gamemode.Server.Commands
|
||||
Client target = ClientService.GetClientByName(user);
|
||||
ClientExtension.BanPlayer(admin, target, reason, mins);
|
||||
}
|
||||
[Command("unban", "~m~Benutzung: ~s~/unban [User] ", GreedyArg = true)]
|
||||
public void CmdAdminUnban(Client admin, string user)
|
||||
{
|
||||
if (ClientExtension.IsLoggedIn(admin) == false)
|
||||
{
|
||||
ChatService.PlayerNotLoggedIn(admin);
|
||||
return;
|
||||
}
|
||||
if (!admin.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
||||
{
|
||||
ChatService.NotAuthorized(admin);
|
||||
return;
|
||||
}
|
||||
Client target = ClientService.GetClientByName(user);
|
||||
ClientExtension.UnbanPlayer(admin, target);
|
||||
}
|
||||
|
||||
|
||||
//TEST COMMAND
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace reallife_gamemode.Server.Extensions
|
||||
{
|
||||
public static User GetUser(this Client client)
|
||||
{
|
||||
using(DatabaseContext dbContext = new DatabaseContext())
|
||||
using (DatabaseContext dbContext = new DatabaseContext())
|
||||
{
|
||||
return dbContext.Users.FirstOrDefault(u => u.Name == client.Name);
|
||||
}
|
||||
@@ -38,7 +38,7 @@ namespace reallife_gamemode.Server.Extensions
|
||||
if (mins == 0)
|
||||
{
|
||||
NAPI.Chat.SendChatMessageToAll("!{#FF4040}[BAN] " + target.Name + " wurde von " + admin.Name + " permanent gebannt. [" + reason + "]");
|
||||
user = new Ban { UserId = GetUser(target).Id, Reason = reason, BannedBy = admin.Name, Applied = unixTimestamp, UntilDateTime = unixTimestamp};
|
||||
user = new Ban { UserId = GetUser(target).Id, Reason = reason, BannedBy = admin.Name, Applied = unixTimestamp, UntilDateTime = unixTimestamp };
|
||||
//TODO user.Kick();
|
||||
mins--;
|
||||
}
|
||||
@@ -57,5 +57,16 @@ namespace reallife_gamemode.Server.Extensions
|
||||
banUser.SaveChanges();
|
||||
}
|
||||
}
|
||||
public static void UnbanPlayer(Client admin, Client target)
|
||||
{
|
||||
using (var unbanUser = new DatabaseContext())
|
||||
{
|
||||
var targetUser = unbanUser.Bans.FirstOrDefault(u => u.Id == target.GetUser().BanId);
|
||||
unbanUser.Bans.Remove(targetUser);
|
||||
unbanUser.SaveChanges();
|
||||
}
|
||||
admin.SendChatMessage(target.Name + " wurde entbannt.");
|
||||
//TODO ***Admin Info: {ADMIN-NAME} hat {USER-NAME} entbannt.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user