Skip to content

Merge extended XML documentation.#389

Open
Red-K0 wants to merge 2 commits into
NetCordDev:mainfrom
Red-K0:alpha
Open

Merge extended XML documentation.#389
Red-K0 wants to merge 2 commits into
NetCordDev:mainfrom
Red-K0:alpha

Conversation

@Red-K0

@Red-K0 Red-K0 commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Red-K0 added 2 commits July 12, 2026 01:58
- Added significant amounts of documentation to RestClient, channel and message types, and more.
- Added some missing / newly-added properties and JSON objects.
- Renamed certain flag values for more consistent styling.
- Obsoleted certain deprecated properties.
- Added some missing flags.
@github-actions

Copy link
Copy Markdown

The documentation preview is available at https://preview.netcord.dev/389.

@KubaZ2 KubaZ2 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this huge PR! For now I reviewed everything up to UserActivityFlags.

namespace NetCord;

/// <summary>
/// Represents a thread within a <see cref="AnnouncementGuildChannel"/>.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Represents a thread within a <see cref="AnnouncementGuildChannel"/>.
/// Represents a thread within an <see cref="AnnouncementGuildChannel"/>.

Comment on lines +6 to 15
/// <summary>
/// Represents a <see cref="GuildThread"/> within a <see cref="ForumGuildChannel"/>.
/// </summary>
public partial class ForumGuildThread(JsonChannel jsonModel, RestClient client) : PublicGuildThread(jsonModel, client)
{
/// <summary>
/// The message embedded as the thread's starting point.
/// </summary>
public RestMessage Message { get; } = new(jsonModel.Message!, client);
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ForumGuildThread is only received from RestClient.CreateForumGuildThreadAsync (and its aliases). May be a good idea to mention that. This type is not received via any other mean, forum threads are PublicGuildThreads afaik.

var jsonCurrentUser = jsonModel.CurrentUser;
if (jsonCurrentUser is not null)
CurrentUser = new(jsonCurrentUser);
CurrentUser = new(jsonCurrentUser );

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
CurrentUser = new(jsonCurrentUser );
CurrentUser = new(jsonCurrentUser);

public GuildThreadMetadata Metadata { get; }

/// <summary>
/// A minimal <see cref="ThreadUser"/> for the current user, if they have joined the thread.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is confusing, is says it is "minimal" ThreadUser but in fact it is just ThreadCurrentUser. Maybe it would be better not to mention ThreadUser at all and just say "A minimal thread user for the current user, if they have joined the thread."?

Comment on lines +5 to +7
/// <summary>
/// Represents a guild thread of a unresolved type.
/// </summary>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it makes sense to add xml docs to internal types

Suggested change
/// <summary>
/// Represents a guild thread of a unresolved type.
/// </summary>


namespace NetCord;

/// <inheritdoc cref="IVoiceGuildChannel"/>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not the same. VoiceGuildChannel in the classic voice channel. StageGuildChannel is also an IVoiceGuildChannel but it is not a VoiceGuildChannel. I think maybe the xml doc from IVoiceGuildChannel matches VoiceGuildChannel and IVoiceGuildChannel should have a separate xml doc explaining that it is a generic channel type?

public interface IInteractionChannel : IEntity, ISpanFormattable
{
/// <summary>
/// The chan

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems unfinished


namespace NetCord;

/// <inheritdoc cref="IUnknownChannel"/>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to document internal types I think

Suggested change
/// <inheritdoc cref="IUnknownChannel"/>


namespace NetCord;

/// <inheritdoc cref="IUnknownGuildChannel"/>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to document internal types I think

Suggested change
/// <inheritdoc cref="IUnknownGuildChannel"/>

namespace NetCord.Gateway;

/// <summary>
/// Flags about an activity's state. Not current documented.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the "Not current documented." shouldn't be in the docs.

Suggested change
/// Flags about an activity's state. Not current documented.
/// Flags about an activity's state.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants