Documentation structure
Types of pages
Subjects are organized into "container" pages, which can contain both container pages and "class" pages. Container pages are basically just pages that contain other pages. Class pages on the other hand document actual classes. The top-level container pages contain a tutorial explaining specific subjects (Guilds, Channels, etc.).
Class pages follow 1 of these formats:
Enum pagesClass pagesOptional properties/parameters
Sometimes, certain class properties or method parameters are optional. To mark this, the 'Type' column of one of the tables have a '?' added, following c#'s Nullable value types.
Class pagesFormat of subject-specific tutorials
References
Methods
Methods will be referenced using the format {class}.{method}(), with {class} removed if
It's clear from context, i.e. that the class has already been referenced.
The method is exposed, i.e. that it's callable from clients.
If it's a method that can be called from multiple classes, with that being the intended reference of the method.
Documentation links
Links to relevant pages in the docs, whether that would be a tutorial or a class, can be found at the bottom of a tutorial section. Unfortunately, due to the way GitBook works, i cannot specify the section.
Common methods
The methods .Update(), .Modify() and .Delete() are really common among API-bound classes, and will therefore not be in the tutorials unless i want to explain a "quirk" with one of them. The same can be said for the .GetX() and .CreateX() methods (X being an object like Channel, Guild, etc.). Instead, placeholders are used.
Property classes
An object's .Modify() method usually has a 'Properties' class as a parameter. These property classes basically just have a set of optional values that will be applied to the object.
Simplifications
Placeholders
To simplify the subject-specific tutorials, placeholders are used. For example, instead of each channel example calling .GetChannel(), they can just use 'channel'.
Here's a list of the placeholders that will be used:
guild: MinimalGuild
channel: MinimalChannel or MinimalTextChannel, clear from context
hook: DiscordWebhook
member: GuildMember
The placeholders can either be of the type specified above, or one of the classes it derives. If the type isn't clear from context, it will be stated explicitly.
Enums
Often, only the member of the enum is referenced. This will be done whenever the enum type is known from context. An example of this is the ChannelType enum, where i might just specify Text or Group.
GuildsChannelsLast updated
Was this helpful?