-
Notifications
You must be signed in to change notification settings - Fork 3
/
ConfigJson.cs
133 lines (88 loc) · 4.4 KB
/
ConfigJson.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
namespace MechanicalMilkshake;
public class ConfigJson
{
[JsonProperty("base")] public BaseConfig Base { get; private set; }
[JsonProperty("ids")] public IdsConfig Ids { get; private set; }
[JsonProperty("hastebin")] public HastebinConfig Hastebin { get; private set; }
[JsonProperty("workerLinks")] public WorkerLinksConfig WorkerLinks { get; private set; }
[JsonProperty("s3")] public S3Config S3 { get; private set; }
[JsonProperty("cloudflare")] public CloudflareConfig Cloudflare { get; private set; }
[JsonProperty("logs")] public LogConfig Logs { get; private set; }
[JsonProperty("dbots")] public DBotsConfig DBots { get; private set; }
[JsonProperty("wakeOnLan")] public WakeOnLanConfig WakeOnLan { get; private set; }
[JsonProperty("err")] public ErrConfig Err { get; private set; }
}
public class BaseConfig
{
[JsonProperty("botToken")] public string BotToken { get; private set; }
[JsonProperty("homeChannel")] public string HomeChannel { get; private set; }
[JsonProperty("homeServer")] public string HomeServer { get; private set; }
[JsonProperty("hastebinUrl")] public string HastebinUrl { get; private set; }
[JsonProperty("wolframAlphaAppId")] public string WolframAlphaAppId { get; private set; }
[JsonProperty("authorizedUsers")] public string[] AuthorizedUsers { get; private set; }
[JsonProperty("sshHosts")] public string[] SshHosts { get; private set; }
[JsonProperty("packageUpdateCheckIntervalDays")] public int PackageUpdateCheckIntervalDays { get; private set; }
[JsonProperty("useServerSpecificFeatures")] public bool UseServerSpecificFeatures { get; private set; }
[JsonProperty("uptimeKumaHeartbeatUrl")] public string UptimeKumaHeartbeatUrl { get; private set; }
}
public class IdsConfig
{
[JsonProperty("feedbackChannel")] public string FeedbackChannel { get; private set; }
[JsonProperty("ratelimitCautionChannels")] public List<string> RatelimitCautionChannels { get; private set; }
}
public class HastebinConfig
{
[JsonProperty("url")] public string Url { get; set; }
[JsonProperty("namespaceId")] public string NamespaceId { get; set; }
}
public class WorkerLinksConfig
{
[JsonProperty("baseUrl")] public string BaseUrl { get; set; }
[JsonProperty("secret")] public string Secret { get; set; }
[JsonProperty("namespaceId")] public string NamespaceId { get; set; }
[JsonProperty("apiKey")] public string ApiKey { get; set; }
[JsonProperty("email")] public string Email { get; set; }
}
public class S3Config
{
[JsonProperty("bucket")] public string Bucket { get; set; }
[JsonProperty("cdnBaseUrl")] public string CdnBaseUrl { get; set; }
[JsonProperty("endpoint")] public string Endpoint { get; set; }
[JsonProperty("accessKey")] public string AccessKey { get; set; }
[JsonProperty("secretKey")] public string SecretKey { get; set; }
[JsonProperty("region")] public string Region { get; set; }
}
public class CloudflareConfig
{
[JsonProperty("urlPrefix")] public string UrlPrefix { get; set; }
[JsonProperty("zoneId")] public string ZoneId { get; set; }
[JsonProperty("token")] public string Token { get; set; }
[JsonProperty("accountId")] public string AccountId { get; set; }
}
public class LogConfig
{
[JsonProperty("slashCommands")] public SlashCommandLogConfig SlashCommands { get; private set; }
[JsonProperty("guilds")] public string Guilds { get; private set; }
public class SlashCommandLogConfig
{
[JsonProperty("logChannel")] public string LogChannel { get; set; }
[JsonProperty("cmdLogExcludedGuilds")] public string[] CmdLogExcludedGuilds { get; set; }
}
}
public class DBotsConfig
{
[JsonProperty("doStatsPosting")] public bool DoStatsPosting { get; private set; }
[JsonProperty("apiToken")] public string ApiToken { get; private set; }
[JsonProperty("apiEndpoint")] public string ApiEndpoint { get; private set; }
}
public class WakeOnLanConfig
{
[JsonProperty("ipAddress")] public string IpAddress { get; private set; }
[JsonProperty("macAddress")] public string MacAddress { get; private set; }
[JsonProperty("port")] public int Port { get; private set; }
}
public class ErrConfig
{
[JsonProperty("sshUsername")] public string SshUsername { get; private set; }
[JsonProperty("sshHost")] public string SshHost { get; private set; }
}