SecondBot/SecondBotEvents/Config/InteractionConfig.cs
Madpeter c5e4543c9a improvements
adjust docker file to be less spammy with ENV as defaults work most of the time, add support to adjust how fast the chat AI forgets messages that dont go over the X last messages counter
2024-10-01 15:56:38 +01:00

80 lines
No EOL
2.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
namespace SecondBotEvents.Config
{
public class InteractionConfig : Config
{
public InteractionConfig(bool fromENV, string fromFolder = "") : base(fromENV, fromFolder) { }
protected override void MakeSettings()
{
filename = "interaction";
settings.Add("AcceptTeleports");
settings.Add("AcceptGroupInvites");
settings.Add("AcceptInventory");
settings.Add("EnableJsonOutputEvents");
settings.Add("JsonOutputEventsTarget");
settings.Add("AcceptFriendRequests");
settings.Add("FriendRequestLevel");
settings.Add("InventoryTransferLevel");
settings.Add("GroupInviteLevel");
settings.Add("TeleportRequestLevel");
settings.Add("Enabled");
settings.Add("HideStatusOutput");
}
public string GetFriendRequestLevel()
{
return ReadSettingAsString("FriendRequestLevel", "Owner");
}
public string GetInventoryTransferLevel()
{
return ReadSettingAsString("InventoryTransferLevel", "Owner");
}
public string GetGroupInviteLevel()
{
return ReadSettingAsString("GroupInviteLevel", "Owner");
}
public string GetTeleportRequestLevel()
{
return ReadSettingAsString("TeleportRequestLevel", "Owner");
}
public bool GetEnabled()
{
return ReadSettingAsBool("Enabled", true);
}
public bool GetAcceptTeleports()
{
return ReadSettingAsBool("AcceptTeleports", true);
}
public bool GetAcceptGroupInvites()
{
return ReadSettingAsBool("AcceptGroupInvites", true);
}
public bool GetAcceptInventory()
{
return ReadSettingAsBool("AcceptInventory", true);
}
public bool GetAcceptFriendRequests()
{
return ReadSettingAsBool("AcceptFriendRequests", true);
}
public string GetJsonOutputEventsTarget()
{
return ReadSettingAsString("JsonOutputEventsTarget", "none");
}
public bool GetEnableJsonOutputEvents()
{
return ReadSettingAsBool("EnableJsonOutputEvents", false);
}
}
}