2017-07-22 03:51:00 +00:00
|
|
|
|
using Noikoio.RegexBot.Feature.RegexResponder;
|
|
|
|
|
using System.Collections.Generic;
|
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>
|
|
|
|
|
class Server
|
|
|
|
|
{
|
|
|
|
|
private readonly string _name;
|
|
|
|
|
private ulong? _id;
|
2017-07-22 03:51:00 +00:00
|
|
|
|
private IEnumerable<RuleConfig> _rules;
|
2017-06-23 19:31:47 +00:00
|
|
|
|
private EntityList _moderators;
|
|
|
|
|
|
|
|
|
|
public string Name => _name;
|
|
|
|
|
public ulong? Id {
|
|
|
|
|
get => _id; set { if (!_id.HasValue) _id = value; }
|
|
|
|
|
}
|
2017-07-22 03:51:00 +00:00
|
|
|
|
public IEnumerable<RuleConfig> MatchResponseRules => _rules;
|
2017-06-23 19:31:47 +00:00
|
|
|
|
public EntityList Moderators => _moderators;
|
|
|
|
|
|
2017-07-22 03:51:00 +00:00
|
|
|
|
public Server(string name, ulong? id, IEnumerable<RuleConfig> rules, EntityList moderators)
|
2017-06-23 19:31:47 +00:00
|
|
|
|
{
|
|
|
|
|
_name = name;
|
|
|
|
|
_id = id;
|
|
|
|
|
_rules = rules;
|
|
|
|
|
_moderators = moderators;
|
|
|
|
|
Debug.Assert(_name != null && _rules != null && _moderators != null);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|