Minor code cleanup for Ban classes.

This commit is contained in:
UnknownShadow200 2016-05-25 19:44:54 +10:00
parent 18db9868c1
commit 2ae27fa79a
4 changed files with 18 additions and 17 deletions

View File

@ -79,7 +79,6 @@ namespace MCGalaxy.Commands.Moderation {
if (args.Length == 1) Player.AddNote(target, p, "B");
else Player.AddNote(target, p, "B", args[1]);
Server.IRC.Say(banMsg);
Server.s.Log("BANNED: " + target.ToLower() + " by " + banner);
}

View File

@ -29,11 +29,11 @@ namespace MCGalaxy.Commands.Moderation {
string[] args = message.Split(trimChars, 2);
if (args.Length < 2) { Help(p); return; }
string err = Ban.EditReason(args[0], args[1]);
if (err != "")
Player.Message(p, err);
else
Player.Message(p, "Succesfully edited baninfo about &0" + args[0] + " %Sto: &2" + args[1]);
if (!Ban.EditReason(args[0], args[1])) {
Player.Message(p, "That player isn't banned.");
} else {
Player.Message(p, "Succesfully edited baninfo about &0{0} %Sto: &2{1}", args[0], args[1]);
}
}
public override void Help(Player p) {

View File

@ -46,6 +46,10 @@ namespace MCGalaxy {
file.Append(data);
}
public static string FormatBan(string banner, string reason) {
return "Banned for \"" + reason + "\" by " + banner;
}
/// <summary> Returns whether the given user is banned. </summary>
public static bool IsBanned(string who) {
who = who.ToLower();
@ -82,7 +86,7 @@ namespace MCGalaxy {
foreach (string line in File.ReadAllLines("text/bans.txt")) {
string[] parts = line.Split(' ');
if (parts.Length <= 1 || parts[1] != name)
sb.Append(line + "\r\n");
sb.AppendLine(line);
else
success = true;
}
@ -91,28 +95,26 @@ namespace MCGalaxy {
}
/// <summary> Change the ban reason for the given user. </summary>
public static string EditReason(string who, string reason) {
public static bool EditReason(string who, string reason) {
who = who.ToLower();
reason = reason.Replace(" ", "%20");
bool found = false;
bool success = false;
StringBuilder sb = new StringBuilder();
foreach (string line in File.ReadAllLines("text/bans.txt")) {
string[] parts = line.Split(' ');
if (parts.Length > 2 && parts[1] == who) {
parts[2] = CP437Writer.ConvertToUnicode(reason);
found = true;
sb.Append(String.Join(" ", parts) + "\r\n");
success = true;
sb.AppendLine(String.Join(" ", parts));
} else {
sb.Append(line + "\r\n");
sb.AppendLine(line);
}
}
if (found) {
if (success)
File.WriteAllText("text/bans.txt", sb.ToString());
return "";
}
return "This player isn't banned!";
return success;
}
}
}

View File

@ -344,7 +344,7 @@ namespace MCGalaxy {
if (!Server.useWhitelist || !onWhitelist) {
string[] data = Ban.GetBanData(name);
if (data != null) {
Kick("Banned for \"" + data[1] + "\" by " + data[0], true);
Kick(Ban.FormatBan(data[0], data[1]), true);
} else {
Kick(Server.defaultBanMessage, true);
}