Add /unban Command
This commit is contained in:
@@ -569,6 +569,22 @@ namespace reallife_gamemode.Server.Commands
|
|||||||
Client target = ClientService.GetClientByName(user);
|
Client target = ClientService.GetClientByName(user);
|
||||||
ClientExtension.BanPlayer(admin, target, reason, mins);
|
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
|
//TEST COMMAND
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ namespace reallife_gamemode.Server.Extensions
|
|||||||
{
|
{
|
||||||
public static User GetUser(this Client client)
|
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);
|
return dbContext.Users.FirstOrDefault(u => u.Name == client.Name);
|
||||||
}
|
}
|
||||||
@@ -38,7 +38,7 @@ namespace reallife_gamemode.Server.Extensions
|
|||||||
if (mins == 0)
|
if (mins == 0)
|
||||||
{
|
{
|
||||||
NAPI.Chat.SendChatMessageToAll("!{#FF4040}[BAN] " + target.Name + " wurde von " + admin.Name + " permanent gebannt. [" + reason + "]");
|
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();
|
//TODO user.Kick();
|
||||||
mins--;
|
mins--;
|
||||||
}
|
}
|
||||||
@@ -57,5 +57,16 @@ namespace reallife_gamemode.Server.Extensions
|
|||||||
banUser.SaveChanges();
|
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