mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-10-14 21:22:49 +00:00
Normalize AutoRespond bot
Move FromFile method from bots to ChatBot class Rename file and class, removing space and underscore.
This commit is contained in:
parent
b07091e3dd
commit
53156bdf98
5 changed files with 33 additions and 50 deletions
|
|
@ -380,5 +380,29 @@ namespace MinecraftClient
|
||||||
time.Minute.ToString("00"),
|
time.Minute.ToString("00"),
|
||||||
time.Second.ToString("00"));
|
time.Second.ToString("00"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Load entries from a file as a string array, removing duplicates and empty lines
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="file">File to load</param>
|
||||||
|
/// <returns>The string array or an empty array if failed to load the file</returns>
|
||||||
|
|
||||||
|
protected static string[] LoadDistinctEntriesFromFile(string file)
|
||||||
|
{
|
||||||
|
if (File.Exists(file))
|
||||||
|
{
|
||||||
|
//Read all lines from file, remove lines with no text, convert to lowercase,
|
||||||
|
//remove duplicate entries, convert to a string array, and return the result.
|
||||||
|
return File.ReadAllLines(file)
|
||||||
|
.Where(line => !String.IsNullOrWhiteSpace(line))
|
||||||
|
.Select(line => line.ToLower())
|
||||||
|
.Distinct().ToArray();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LogToConsole("File not found: " + Settings.Alerts_MatchesFile);
|
||||||
|
return new string[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,36 +14,13 @@ namespace MinecraftClient.ChatBots
|
||||||
private string[] dictionary = new string[0];
|
private string[] dictionary = new string[0];
|
||||||
private string[] excludelist = new string[0];
|
private string[] excludelist = new string[0];
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Import alerts from the specified file
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="file"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
private static string[] FromFile(string file)
|
|
||||||
{
|
|
||||||
if (File.Exists(file))
|
|
||||||
{
|
|
||||||
//Read all lines from file, remove lines with no text, convert to lowercase,
|
|
||||||
//remove duplicate entries, convert to a string array, and return the result.
|
|
||||||
return File.ReadAllLines(file)
|
|
||||||
.Where(line => !String.IsNullOrWhiteSpace(line))
|
|
||||||
.Select(line => line.ToLower())
|
|
||||||
.Distinct().ToArray();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
LogToConsole("File not found: " + Settings.Alerts_MatchesFile);
|
|
||||||
return new string[0];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Intitialize the Alerts bot
|
/// Intitialize the Alerts bot
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
dictionary = FromFile(Settings.Alerts_MatchesFile);
|
dictionary = LoadDistinctEntriesFromFile(Settings.Alerts_MatchesFile);
|
||||||
excludelist = FromFile(Settings.Alerts_ExcludesFile);
|
excludelist = LoadDistinctEntriesFromFile(Settings.Alerts_ExcludesFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -6,34 +6,16 @@ using System.IO;
|
||||||
|
|
||||||
namespace MinecraftClient.ChatBots
|
namespace MinecraftClient.ChatBots
|
||||||
{
|
{
|
||||||
class Auto_Respond : ChatBot
|
class AutoRespond : ChatBot
|
||||||
{
|
{
|
||||||
private String[] respondon = new String[0];
|
private string[] respondon = new string[0];
|
||||||
private String[] torespond = new String[0];
|
private string[] torespond = new string[0];
|
||||||
|
|
||||||
private static string[] FromFile(string file)
|
|
||||||
{
|
|
||||||
if (File.Exists(file))
|
|
||||||
{
|
|
||||||
//Read all lines from file, remove lines with no text, convert to lowercase,
|
|
||||||
//remove duplicate entries, convert to a string array, and return the result.
|
|
||||||
return File.ReadAllLines(file)
|
|
||||||
.Where(line => !String.IsNullOrWhiteSpace(line))
|
|
||||||
.Select(line => line.ToLower())
|
|
||||||
.Distinct().ToArray();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
LogToConsole("File not found: " + file);
|
|
||||||
return new string[0];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Initalize the bot
|
//Initalize the bot
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
respondon = FromFile(Settings.Respond_MatchesFile);
|
respondon = LoadDistinctEntriesFromFile(Settings.Respond_MatchesFile);
|
||||||
torespond = FromFile(Settings.Respond_RespondFile);
|
torespond = LoadDistinctEntriesFromFile(Settings.Respond_RespondFile);
|
||||||
ConsoleIO.WriteLine("Auto Respond Bot Sucessfully loaded!");
|
ConsoleIO.WriteLine("Auto Respond Bot Sucessfully loaded!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -106,7 +106,7 @@ namespace MinecraftClient
|
||||||
if (Settings.AutoRelog_Enabled) { BotLoad(new ChatBots.AutoRelog(Settings.AutoRelog_Delay, Settings.AutoRelog_Retries)); }
|
if (Settings.AutoRelog_Enabled) { BotLoad(new ChatBots.AutoRelog(Settings.AutoRelog_Delay, Settings.AutoRelog_Retries)); }
|
||||||
if (Settings.ScriptScheduler_Enabled) { BotLoad(new ChatBots.ScriptScheduler(Settings.expandVars(Settings.ScriptScheduler_TasksFile))); }
|
if (Settings.ScriptScheduler_Enabled) { BotLoad(new ChatBots.ScriptScheduler(Settings.expandVars(Settings.ScriptScheduler_TasksFile))); }
|
||||||
if (Settings.RemoteCtrl_Enabled) { BotLoad(new ChatBots.RemoteControl()); }
|
if (Settings.RemoteCtrl_Enabled) { BotLoad(new ChatBots.RemoteControl()); }
|
||||||
if (Settings.Respond_Enabled) { BotLoad(new ChatBots.Auto_Respond()); }
|
if (Settings.Respond_Enabled) { BotLoad(new ChatBots.AutoRespond()); }
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue