/// <summary> Returns the unique identifier for this server. </summary>
public string Id { get; }
/// <summary> Returns the name of this channel. </summary>
public string Name { get; internal set; }
public string AFKChannelId { get; internal set; }
/// <summary> Returns the amount of time (in seconds) a user must be inactive for until they are automatically moved to the AFK channel (see AFKChannel). </summary>
public int AFKTimeout { get; internal set; }
/// <summary> Returns the date and time your joined this server. </summary>
public DateTime JoinedAt { get; internal set; }
/// <summary> Returns the region for this server (see Regions). </summary>
public string Region { get; internal set; }
/// <summary> Returns the id of the user that first created this server. </summary>
public string OwnerId { get; internal set; }
/// <summary> Returns the user that first created this server. </summary>
public User Owner => _client.GetUser(OwnerId);
/// <summary> Returns true if the current user created this server. </summary>
public bool IsOwner => _client.UserId == OwnerId;
/// <summary> Returns the id of the AFK voice channel for this server (see AFKTimeout). </summary>
public string AFKChannelId { get; internal set; }
/// <summary> Returns the AFK voice channel for this server (see AFKTimeout). </summary>
public Channel AFKChannel => _client.GetChannel(AFKChannelId);
/// <summary> Returns the id of the default channel for this server. </summary>
public string DefaultChannelId => Id;
/// <summary> Returns the default channel for this server. </summary>
public Channel DefaultChannel =>_client.GetChannel(DefaultChannelId);