2017-07-26 22:36:59 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.ObjectModel;
|
2017-06-23 19:31:47 +00:00
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
|
|
|
|
|
namespace Noikoio.RegexBot.ConfigItem
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Represents known information about a Discord guild (server) and other associated data
|
|
|
|
|
/// </summary>
|
2017-07-26 22:36:59 +00:00
|
|
|
|
class ServerConfig
|
2017-06-23 19:31:47 +00:00
|
|
|
|
{
|
|
|
|
|
private readonly string _name;
|
|
|
|
|
private ulong? _id;
|
|
|
|
|
private EntityList _moderators;
|
2017-07-26 22:36:59 +00:00
|
|
|
|
private ReadOnlyDictionary<BotFeature, object> _featureData;
|
2017-06-23 19:31:47 +00:00
|
|
|
|
|
|
|
|
|
public string Name => _name;
|
|
|
|
|
public ulong? Id {
|
|
|
|
|
get => _id; set { if (!_id.HasValue) _id = value; }
|
|
|
|
|
}
|
|
|
|
|
public EntityList Moderators => _moderators;
|
2017-07-26 22:36:59 +00:00
|
|
|
|
public ReadOnlyDictionary<BotFeature, object> FeatureConfigs => _featureData;
|
2017-06-23 19:31:47 +00:00
|
|
|
|
|
2017-07-26 22:36:59 +00:00
|
|
|
|
public ServerConfig(string name, ulong? id, EntityList moderators, ReadOnlyDictionary<BotFeature, object> featureconf)
|
2017-06-23 19:31:47 +00:00
|
|
|
|
{
|
|
|
|
|
_name = name;
|
|
|
|
|
_id = id;
|
|
|
|
|
_moderators = moderators;
|
2017-07-26 22:36:59 +00:00
|
|
|
|
_featureData = featureconf;
|
|
|
|
|
Debug.Assert(_name != null && _moderators != null);
|
2017-06-23 19:31:47 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|