New commands, addban and unban

This commit is contained in:
daffyyyy
2023-12-03 13:37:54 +01:00
parent 53812148b3
commit 5ea71f1679
4 changed files with 128 additions and 2 deletions

View File

@@ -1,7 +1,9 @@
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Entities;
using Dapper;
using MySqlConnector;
using System.Data;
using System.Xml.Linq;
namespace CS2_SimpleAdmin
{
@@ -40,6 +42,31 @@ namespace CS2_SimpleAdmin
_dbConnection.Close();
}
public void AddBanBySteamid(string playerSteamId, CCSPlayerController? issuer, string reason, int time = 0)
{
if (string.IsNullOrEmpty(playerSteamId)) return;
_dbConnection.Open();
DateTime now = DateTime.Now;
DateTime futureTime = now.AddMinutes(time);
var sql = "INSERT INTO `sa_bans` (`player_steamid`, `admin_steamid`, `admin_name`, `reason`, `duration`, `ends`, `created`) " +
"VALUES (@playerSteamid, @adminSteamid, @adminName, @banReason, @duration, @ends, @created)";
_dbConnection.Execute(sql, new
{
playerSteamid = playerSteamId,
adminSteamid = issuer == null ? "Console" : issuer?.AuthorizedSteamID?.SteamId64.ToString(),
adminName = issuer == null ? "Console" : issuer.PlayerName,
banReason = reason,
duration = time,
ends = futureTime,
created = now
});
_dbConnection.Close();
}
public bool IsPlayerBanned(string steamId)
{
_dbConnection.Open();
@@ -54,6 +81,21 @@ namespace CS2_SimpleAdmin
return banCount > 0;
}
public void UnbanPlayer(string playerPattern)
{
if (playerPattern == null || playerPattern.Length <= 1)
{
return;
}
_dbConnection.Open();
string sqlUnban = "UPDATE sa_bans SET status = 'UNBANNED' WHERE player_steamid = @pattern OR player_name = @pattern";
_dbConnection.Execute(sqlUnban, new { pattern = playerPattern });
_dbConnection.Close();
}
public void ExpireOldBans()
{
_dbConnection.Open();