mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-04 04:56:49 +00:00
feat: pk;config
This commit is contained in:
parent
d195c80d92
commit
56d07e0f2d
41 changed files with 648 additions and 313 deletions
33
PluralKit.Core/Models/SystemConfig.cs
Normal file
33
PluralKit.Core/Models/SystemConfig.cs
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
using Newtonsoft.Json.Linq;
|
||||
|
||||
using NodaTime;
|
||||
|
||||
namespace PluralKit.Core;
|
||||
|
||||
public class SystemConfig
|
||||
{
|
||||
public SystemId Id { get; }
|
||||
public string UiTz { get; set; }
|
||||
public bool PingsEnabled { get; }
|
||||
public int? LatchTimeout { get; }
|
||||
public int? MemberLimitOverride { get; }
|
||||
public int? GroupLimitOverride { get; }
|
||||
|
||||
public DateTimeZone Zone => DateTimeZoneProviders.Tzdb.GetZoneOrNull(UiTz);
|
||||
}
|
||||
|
||||
public static class SystemConfigExt
|
||||
{
|
||||
public static JObject ToJson(this SystemConfig cfg)
|
||||
{
|
||||
var o = new JObject();
|
||||
|
||||
o.Add("timezone", cfg.UiTz);
|
||||
o.Add("pings_enabled", cfg.PingsEnabled);
|
||||
o.Add("latch_timeout", cfg.LatchTimeout);
|
||||
o.Add("member_limit", cfg.MemberLimitOverride ?? Limits.MaxMemberCount);
|
||||
o.Add("group_limit", cfg.GroupLimitOverride ?? Limits.MaxGroupCount);
|
||||
|
||||
return o;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue