Browse Source

Add `Flags` property to channels

pull/2469/head
Misha133 2 years ago
parent
commit
8c05d499a1
7 changed files with 30 additions and 0 deletions
  1. +11
    -0
      src/Discord.Net.Core/Entities/Channels/IGuildChannel.cs
  2. +3
    -0
      src/Discord.Net.Rest/API/Common/Channel.cs
  3. +5
    -0
      src/Discord.Net.Rest/Entities/Channels/RestGuildChannel.cs
  4. +5
    -0
      src/Discord.Net.WebSocket/Entities/Channels/SocketGuildChannel.cs
  5. +2
    -0
      test/Discord.Net.Tests.Unit/MockedEntities/MockedCategoryChannel.cs
  6. +2
    -0
      test/Discord.Net.Tests.Unit/MockedEntities/MockedTextChannel.cs
  7. +2
    -0
      test/Discord.Net.Tests.Unit/MockedEntities/MockedVoiceChannel.cs

+ 11
- 0
src/Discord.Net.Core/Entities/Channels/IGuildChannel.cs View File

@@ -21,6 +21,17 @@ namespace Discord
/// </returns> /// </returns>
int Position { get; } int Position { get; }


/// <summary>
/// Gets the flags related to this channel.
/// </summary>
/// <remarks>
/// This value is determined by bitwise OR-ing <see cref="ChannelFlags"/> values together.
/// </remarks>
/// <returns>
/// A channel's flags, if any is associated.
/// </returns>
ChannelFlags Flags { get; }

/// <summary> /// <summary>
/// Gets the guild associated with this channel. /// Gets the guild associated with this channel.
/// </summary> /// </summary>


+ 3
- 0
src/Discord.Net.Rest/API/Common/Channel.cs View File

@@ -79,5 +79,8 @@ namespace Discord.API


[JsonProperty("default_thread_rate_limit_per_user")] [JsonProperty("default_thread_rate_limit_per_user")]
public Optional<int> ThreadRateLimitPerUser { get; set; } public Optional<int> ThreadRateLimitPerUser { get; set; }

[JsonProperty("flags")]
public Optional<ChannelFlags> Flags { get; set; }
} }
} }

+ 5
- 0
src/Discord.Net.Rest/Entities/Channels/RestGuildChannel.cs View File

@@ -26,6 +26,9 @@ namespace Discord.Rest
/// <inheritdoc /> /// <inheritdoc />
public ulong GuildId => Guild.Id; public ulong GuildId => Guild.Id;


/// <inheritdoc />
public ChannelFlags Flags { get; private set; }

internal RestGuildChannel(BaseDiscordClient discord, IGuild guild, ulong id) internal RestGuildChannel(BaseDiscordClient discord, IGuild guild, ulong id)
: base(discord, id) : base(discord, id)
{ {
@@ -62,6 +65,8 @@ namespace Discord.Rest
newOverwrites.Add(overwrites[i].ToEntity()); newOverwrites.Add(overwrites[i].ToEntity());
_overwrites = newOverwrites.ToImmutable(); _overwrites = newOverwrites.ToImmutable();
} }

Flags = model.Flags.GetValueOrDefault(ChannelFlags.None);
} }


/// <inheritdoc /> /// <inheritdoc />


+ 5
- 0
src/Discord.Net.WebSocket/Entities/Channels/SocketGuildChannel.cs View File

@@ -30,6 +30,9 @@ namespace Discord.WebSocket
/// <inheritdoc /> /// <inheritdoc />
public int Position { get; private set; } public int Position { get; private set; }


/// <inheritdoc />
public ChannelFlags Flags { get; private set; }

/// <inheritdoc /> /// <inheritdoc />
public virtual IReadOnlyCollection<Overwrite> PermissionOverwrites => _overwrites; public virtual IReadOnlyCollection<Overwrite> PermissionOverwrites => _overwrites;
/// <summary> /// <summary>
@@ -74,6 +77,8 @@ namespace Discord.WebSocket
for (int i = 0; i < overwrites.Length; i++) for (int i = 0; i < overwrites.Length; i++)
newOverwrites.Add(overwrites[i].ToEntity()); newOverwrites.Add(overwrites[i].ToEntity());
_overwrites = newOverwrites.ToImmutable(); _overwrites = newOverwrites.ToImmutable();

Flags = model.Flags.GetValueOrDefault(ChannelFlags.None);
} }


/// <inheritdoc /> /// <inheritdoc />


+ 2
- 0
test/Discord.Net.Tests.Unit/MockedEntities/MockedCategoryChannel.cs View File

@@ -20,6 +20,8 @@ namespace Discord
public DateTimeOffset CreatedAt => throw new NotImplementedException(); public DateTimeOffset CreatedAt => throw new NotImplementedException();


public ulong Id => throw new NotImplementedException(); public ulong Id => throw new NotImplementedException();
public ChannelFlags Flags => throw new NotImplementedException();


public Task AddPermissionOverwriteAsync(IRole role, OverwritePermissions permissions, RequestOptions options = null) public Task AddPermissionOverwriteAsync(IRole role, OverwritePermissions permissions, RequestOptions options = null)
{ {


+ 2
- 0
test/Discord.Net.Tests.Unit/MockedEntities/MockedTextChannel.cs View File

@@ -34,6 +34,8 @@ namespace Discord


public ulong Id => throw new NotImplementedException(); public ulong Id => throw new NotImplementedException();


public ChannelFlags Flags => throw new NotImplementedException();

public Task AddPermissionOverwriteAsync(IRole role, OverwritePermissions permissions, RequestOptions options = null) public Task AddPermissionOverwriteAsync(IRole role, OverwritePermissions permissions, RequestOptions options = null)
{ {
throw new NotImplementedException(); throw new NotImplementedException();


+ 2
- 0
test/Discord.Net.Tests.Unit/MockedEntities/MockedVoiceChannel.cs View File

@@ -36,6 +36,8 @@ namespace Discord


public string Mention => throw new NotImplementedException(); public string Mention => throw new NotImplementedException();


public ChannelFlags Flags => throw new NotImplementedException();

public Task AddPermissionOverwriteAsync(IRole role, OverwritePermissions permissions, RequestOptions options = null) => throw new NotImplementedException(); public Task AddPermissionOverwriteAsync(IRole role, OverwritePermissions permissions, RequestOptions options = null) => throw new NotImplementedException();
public Task AddPermissionOverwriteAsync(IUser user, OverwritePermissions permissions, RequestOptions options = null) => throw new NotImplementedException(); public Task AddPermissionOverwriteAsync(IUser user, OverwritePermissions permissions, RequestOptions options = null) => throw new NotImplementedException();
public Task<IAudioClient> ConnectAsync(bool selfDeaf = false, bool selfMute = false, bool external = false) => throw new NotImplementedException(); public Task<IAudioClient> ConnectAsync(bool selfDeaf = false, bool selfMute = false, bool external = false) => throw new NotImplementedException();


Loading…
Cancel
Save