Advertisement
Klapek

Untitled

Mar 15th, 2020
543
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.40 KB | None | 0 0
  1. case "oban":
  2.                     {
  3.                         ev.Allow = false;
  4.  
  5.                         if (args.Length < 4)
  6.                         {
  7.                             if (ServerExecutingCommand) Plugin.Info("USAGE: oban [UserID/IP] [TimeInMinutes or 0 for perm] [Reason]");
  8.                             else ev.Sender.RAMessage("USAGE: oban [UserID/IP] [TimeInMinutes or 0 for perm] [Reason]");
  9.                             return;
  10.                         }
  11.                         string IssuingPlayer = "";
  12.                         if (ServerExecutingCommand) IssuingPlayer = "SERVER";
  13.                         else IssuingPlayer = Plugin.GetPlayer(ev.Sender.SenderId).name;
  14.                         string bannedUserID = args[1];
  15.                         int minutes = (int.TryParse(args[2], out int x)) ? x : 0;
  16.                         bool ipban = false;
  17.  
  18.                         if (args[1].Contains("."))
  19.                         {
  20.                             if (args[1].Split('.').Length != 4 && args[1].Substring(args[1].Length - 1) != ".")
  21.                             {
  22.                                 if (ServerExecutingCommand) Plugin.Info("Invalid IP Address");
  23.                                 else ev.Sender.RAMessage("Invalid IP Address");
  24.                                 return;
  25.                             }
  26.                             ipban = true;
  27.  
  28.  
  29.                         }
  30.                         else if (args[1].Trim().Length < 17 || args[1].Trim().Length > 18)
  31.                         {
  32.                             if (ServerExecutingCommand) Plugin.Info("Invalid UserID");
  33.                             else ev.Sender.RAMessage("Invalid UserID");
  34.                             return;
  35.                         }
  36.  
  37.                         bool discord = false;
  38.                         string UserIDOrIP = "";
  39.                         if (!ipban)
  40.                         {
  41.                             discord = (args[1].Trim().Length > 17);
  42.                             UserIDOrIP = args[1] + (discord ? "@discord" : "@steam");
  43.                         }
  44.                         else
  45.                         {
  46.                             UserIDOrIP = args[1];
  47.                         }
  48.                         long banExpiryTime = TimeBehaviour.GetBanExpieryTime(26297438);
  49.                         if (args[2] != "0") banExpiryTime = TimeBehaviour.GetBanExpieryTime(Convert.ToUInt32(args[2]));
  50.                         BanDetails banDetails = new BanDetails();
  51.                         banDetails.Id = UserIDOrIP;
  52.                         banDetails.IssuanceTime = TimeBehaviour.CurrentTimestamp();
  53.                         banDetails.Expires = banExpiryTime;
  54.                         banDetails.Issuer = ev.Sender.Nickname;
  55.                         banDetails.OriginalName = "OfflinePlayer" + RandomGenerator.GetInt32(1, 9999);
  56.  
  57.                         string reason = "";
  58.                         IEnumerable<string> reasons = args.Where(s => s != args[0] && s != args[1] && s != args[2]);
  59.                         foreach (string st in reasons)
  60.                             reason += st;
  61.  
  62.                         banDetails.Reason = reason;
  63.  
  64.                         if (ipban) BanHandler.IssueBan(banDetails, BanHandler.BanType.IP);
  65.                         else BanHandler.IssueBan(banDetails, BanHandler.BanType.UserId);
  66.  
  67.                         if (ServerExecutingCommand) Plugin.Info("Banned");
  68.                         else ev.Sender.RAMessage("Banned");
  69.                         return;
  70.                     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement