/// <summary> Gets true if this is a private chat with another user. </summary>
public bool IsPrivate => Recipient != null;
/// <summary> Gets the string used to mention this channel. </summary>
public string Mention => $"<#{Id}>";
/// <summary> Gets a collection of all messages the client has seen posted in this channel. This collection does not guarantee any ordering. </summary>
public IEnumerable<Message> Messages => _messages?.Values ?? Enumerable.Empty<Message>();
/// <summary> Gets a collection of all custom permissions used for this channel. </summary>
public IEnumerable<PermissionOverwrite> PermissionOverwrites => _permissionOverwrites.Select(x => x.Value);
/// <summary> Gets a collection of all users with read access to this channel. </summary>
public IEnumerable<User> Users
{
get
{
if (Client.Config.UsePermissionsCache)
{
if (IsPrivate)
return new User[] { Client.PrivateUser, Recipient };
/// <summary> Gets the name of this server. </summary>
/// <summary> Gets the name of this server. </summary>
public string Name { get; private set; }
public string Name { get; set; }
/// <summary> Gets the voice region for this server. </summary>
/// <summary> Gets the voice region for this server. </summary>
public Region Region { get; private set; }
/// <summary> Gets the unique identifier for this user's current avatar. </summary>
public string IconId { get; private set; }
/// <summary> Gets the unique identifier for this server's custom splash image. </summary>
public string SplashId { get; private set; }
public Region Region { get; set; }
/// <summary> Gets the AFK voice channel for this server. </summary>
public VoiceChannel AFKChannel { get; set; }
/// <summary> Gets the amount of time (in seconds) a user must be inactive for until they are automatically moved to the AFK voice channel, if one is set. </summary>
/// <summary> Gets the amount of time (in seconds) a user must be inactive for until they are automatically moved to the AFK voice channel, if one is set. </summary>
public int AFKTimeout { get; private set; }
public int AFKTimeout { get; set; }
/// <summary> Gets the date and time you joined this server. </summary>
/// <summary> Gets the date and time you joined this server. </summary>
public DateTime JoinedAt { get; private set; }
public DateTime JoinedAt { get; private set; }
/// <summary> Gets the default channel for this server. </summary>
public Channel DefaultChannel { get; private set; }
/// <summary> Gets the the role representing all users in a server. </summary>
/// <summary> Gets the the role representing all users in a server. </summary>
public Role EveryoneRole { get; private set; }
public Role EveryoneRole { get; private set; }
/// <summary> Gets all extra features added to this server. </summary>
/// <summary> Gets all extra features added to this server. </summary>
public IEnumerable<string> Features { get; private set; }
public IEnumerable<string> Features { get; private set; }
/// <summary> Gets all custom emojis on this server. </summary>
/// <summary> Gets all custom emojis on this server. </summary>
public IEnumerable<Emoji> CustomEmojis { get; private set; }
public IEnumerable<Emoji> CustomEmojis { get; private set; }
/// <summary> Gets the path to this object. </summary>
internal string Path => Name;
/// <summary> Gets the unique identifier for this user's current avatar. </summary>
public string IconId { get; private set; }
/// <summary> Gets the unique identifier for this server's custom splash image. </summary>
public string SplashId { get; private set; }
/// <summary> Gets the user that created this server. </summary>
/// <summary> Gets the user that created this server. </summary>
public User Owner => GetUser(_ownerId);
public User Owner => GetUser(_ownerId);
/// <summary> Returns true if the current user owns this server. </summary>
public bool IsOwner => _ownerId == Client.CurrentUser.Id;
/// <summary> Gets the AFK voice channel for this server. </summary>
/// <summary> Gets or sets the topic of this channel. </summary>
public string Topic { get; set; }
public override ChannelType Type => ChannelType.Text;
/// <summary> Gets a collection of all messages the client has seen posted in this channel. This collection does not guarantee any ordering. </summary>
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.