using System;
namespace axXez.TS3.Protocol
{
/// Represents a ban entry returned by banlist.
public class BanInfo : TsEntity
{
/// Numeric ban rule ID.
[TsField("banid")]
public int BanID { get; protected set; }
/// IP address regex pattern of the ban rule; empty if not banning by IP.
[TsField("ip")]
public string IP { get; protected set; }
/// Nickname regex pattern of the ban rule; empty if not banning by name.
[TsField("name")]
public string Name { get; protected set; }
/// Unique identifier of the banned client; empty if not banning by UID.
[TsField("uid")]
public string UID { get; protected set; }
/// MyTeamSpeak ID of the banned client; empty if not banning by mytsid.
[TsField("mytsid")]
public string MyTsID { get; protected set; }
/// Last known nickname of the banned client at the time the ban was created.
[TsField("lastnickname")]
public string LastNickname { get; protected set; }
/// Date and time when the ban was created.
[TsField("created")]
public DateTime Created { get; protected set; }
/// Ban duration in seconds; 0 means permanent.
[TsField("duration")]
public int Duration { get; protected set; }
/// Nickname of the client who created this ban rule.
[TsField("invokername")]
public string InvokerName { get; protected set; }
/// Database ID of the client who created this ban rule.
[TsField("invokercldbid")]
public int InvokerDBID { get; protected set; }
/// Unique identifier of the client who created this ban rule.
[TsField("invokeruid")]
public string InvokerUID { get; protected set; }
/// Reason message provided when the ban was created.
[TsField("reason")]
public string Reason { get; protected set; }
/// Number of times this ban rule has been enforced (i.e. clients rejected).
[TsField("enforcements")]
public int Enforcements { get; protected set; }
internal BanInfo(TsDataEntry data) : base(data) { }
}
}