Browse Source

add default forum layout support

pull/2521/head
Misha133 2 years ago
parent
commit
3f68aa16e6
7 changed files with 48 additions and 1 deletions
  1. +5
    -0
      src/Discord.Net.Core/Entities/Channels/ForumChannelProperties.cs
  2. +22
    -0
      src/Discord.Net.Core/Entities/Channels/ForumLayout.cs
  3. +6
    -1
      src/Discord.Net.Core/Entities/Channels/IForumChannel.cs
  4. +3
    -0
      src/Discord.Net.Rest/API/Common/Channel.cs
  5. +3
    -0
      src/Discord.Net.Rest/API/Rest/ModifyForumChannelParams.cs
  6. +4
    -0
      src/Discord.Net.Rest/Entities/Channels/RestForumChannel.cs
  7. +5
    -0
      src/Discord.Net.WebSocket/Entities/Channels/SocketForumChannel.cs

+ 5
- 0
src/Discord.Net.Core/Entities/Channels/ForumChannelProperties.cs View File

@@ -57,4 +57,9 @@ public class ForumChannelProperties : TextChannelProperties
/// Gets or sets the rule used to order posts in forum channels.
/// </summary>
public Optional<ForumSortOrder> DefaultSortOrder { get; set; }

/// <summary>
/// Gets or sets the rule used to display posts in a forum channel.
/// </summary>
public Optional<ForumLayout> DefaultLayout { get; set; }
}

+ 22
- 0
src/Discord.Net.Core/Entities/Channels/ForumLayout.cs View File

@@ -0,0 +1,22 @@
namespace Discord;

/// <summary>
/// Represents the layout type used to display posts in a forum channel.
/// </summary>
public enum ForumLayout
{
/// <summary>
/// A preferred forum layout hasn't been set by a server admin
/// </summary>
Default = 0,

/// <summary>
/// List View: display forum posts in a text-focused list
/// </summary>
List = 1,

/// <summary>
/// Gallery View: display forum posts in a media-focused gallery
/// </summary>
Grid = 2
}

+ 6
- 1
src/Discord.Net.Core/Entities/Channels/IForumChannel.cs View File

@@ -63,13 +63,18 @@ namespace Discord
IEmote DefaultReactionEmoji { get; }

/// <summary>
/// Gets or sets the rule used to order posts in forum channels.
/// Gets the rule used to order posts in forum channels.
/// </summary>
/// <remarks>
/// Defaults to null, which indicates a preferred sort order hasn't been set
/// </remarks>
ForumSortOrder? DefaultSortOrder { get; }

/// <summary>
/// Gets the rule used to display posts in a forum channel.
/// </summary>
ForumLayout DefaultLayout { get; }

/// <summary>
/// Modifies this forum channel.
/// </summary>


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

@@ -89,5 +89,8 @@ namespace Discord.API
[JsonProperty("default_reaction_emoji")]
public Optional<ForumReactionEmoji> DefaultReactionEmoji { get; set; }

[JsonProperty("default_forum_layout")]
public Optional<ForumLayout> DefaultForumLayout { get; set; }

}
}

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

@@ -20,4 +20,7 @@ internal class ModifyForumChannelParams : ModifyTextChannelParams

[JsonProperty("default_sort_order")]
public Optional<ForumSortOrder> DefaultSortOrder { get; set; }

[JsonProperty("default_forum_layout")]
public Optional<ForumLayout> DefaultLayout { get; set; }
}

+ 4
- 0
src/Discord.Net.Rest/Entities/Channels/RestForumChannel.cs View File

@@ -41,6 +41,9 @@ namespace Discord.Rest
/// <inheritdoc/>
public ForumSortOrder? DefaultSortOrder { get; private set; }

/// <inheritdoc />
public ForumLayout DefaultLayout { get; private set; }

/// <inheritdoc/>
public string Mention => MentionUtils.MentionChannel(Id);

@@ -87,6 +90,7 @@ namespace Discord.Rest
}

CategoryId = model.CategoryId.GetValueOrDefault();
DefaultLayout= model.DefaultForumLayout.GetValueOrDefault();
}

/// <inheritdoc/>


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

@@ -45,6 +45,9 @@ namespace Discord.WebSocket
/// <inheritdoc/>
public ForumSortOrder? DefaultSortOrder { get; private set; }

/// <inheritdoc />
public ForumLayout DefaultLayout { get; private set; }

/// <summary>
/// Gets the parent (category) of this channel in the guild's channel list.
/// </summary>
@@ -93,6 +96,8 @@ namespace Discord.WebSocket
}

CategoryId = model.CategoryId.GetValueOrDefault();

DefaultLayout = model.DefaultForumLayout.GetValueOrDefault();
}

/// <inheritdoc />


Loading…
Cancel
Save