Add Internal command logging.

This commit is contained in:
CarbonNeuron 2020-05-01 09:37:15 -05:00
parent bdf37e427c
commit 06ea43f6c0
3 changed files with 20 additions and 2 deletions

View file

@ -156,6 +156,8 @@ namespace MinecraftClient
/// <param name="entity">Entity with updated location</param>
public virtual void OnEntityMove(Mapping.Entity entity) { }
public virtual void OnInternalCommand(string commandName,string commandParams, string Result) { }
/// <summary>
/// Called when an entity spawned nearby
/// </summary>

View file

@ -12,11 +12,12 @@ namespace MinecraftClient.ChatBots
public class ChatLog : ChatBot
{
public enum MessageFilter { AllText, AllMessages, OnlyChat, OnlyWhispers };
public enum MessageFilter { AllText, AllMessages, OnlyChat, OnlyWhispers, OnlyInternal };
private bool dateandtime;
private bool saveOther = true;
private bool saveChat = true;
private bool savePrivate = true;
private bool saveInternal = true;
private string logfile;
/// <summary>
@ -52,6 +53,12 @@ namespace MinecraftClient.ChatBots
savePrivate = true;
saveChat = false;
break;
case MessageFilter.OnlyInternal:
saveOther = false;
savePrivate = false;
saveChat = false;
saveInternal = true;
break;
}
if (String.IsNullOrEmpty(file) || file.IndexOfAny(Path.GetInvalidPathChars()) >= 0)
{
@ -68,6 +75,7 @@ namespace MinecraftClient.ChatBots
case "messages": return MessageFilter.AllMessages;
case "chat": return MessageFilter.OnlyChat;
case "private": return MessageFilter.OnlyWhispers;
case "internal": return MessageFilter.OnlyInternal;
default: return MessageFilter.AllText;
}
}
@ -92,6 +100,14 @@ namespace MinecraftClient.ChatBots
}
}
public override void OnInternalCommand(string commandName,string commandParams, string Result)
{
if (saveInternal)
{
save($"Internal {commandName}({commandParams}): {Result}");
}
}
private void save(string tosave)
{
if (dateandtime)

View file

@ -389,7 +389,7 @@ namespace MinecraftClient
{
try
{
bot.OnInternalCommand(command_name, response_msg);
bot.OnInternalCommand(command_name, string.Join(" ",Command.getArgs(command)),response_msg);
}
catch (Exception e)
{