diff --git a/DisCatSharp.Docs/articles/basics/templates.md b/DisCatSharp.Docs/articles/basics/templates.md new file mode 100644 index 000000000..9b769762a --- /dev/null +++ b/DisCatSharp.Docs/articles/basics/templates.md @@ -0,0 +1,60 @@ +--- +uid: basics_templates +title: Project Templates +--- + +# Prerequisites +Install the following packages: + - DisCatSharp.ProjectTemplates + +To Install the latest: +```powershell +dotnet new --install DisCatSharp.ProjectTemplates +``` + +To install a specific version (example uses 9.8.4.1): +```powershell +dotnet new --install DisCatSharp.ProjectTemplates::9.8.4.1 +``` + +# Steps + +![Install Setup](/images/pt_nuget_install.png) +----- + +If you're using Visual Studio, the templates will show up when creating a new project/solution +![Install Setup](/images/pt_project_new.png) + +To easily find the DCS templates, you can search for either `Bot` or `Discord`. These tags are generic so if anyone else creates their own +discord or bot template our DCS templates will still be discoverable. We shall be using the solution template for our example. +![Classification](/images/pt_project_new_classification.png) + +For example sake, the project name is DCSTest +![Project Name](/images/pt_project_new_name.png) + +Input your Discord Token which can be retrieved via Discord's Developer Portal. The checkboxes represent the various modules in the DCS library. Checking it, +will include it in your project. If it's an extension, it automatically gets configured/included. +![Parameters](/images/pt_project_new_options.png) + +You should see something similar to the following image. It's worth noting that you need to set the Web project as the `Startup` project. Due to the web being +list last, the `Bot` project is considered the startup. You would think that a class-library which doesn't have an exe could be considered a startup project.... +![Project Structure](/images/pt_scaffolded.png) + +At this point in time the template is ready to run! + +----- + +# Templates + +## Bot Template +This is a class library in which you place bot related code. It contains its own json file where you can +configure your bot accordingly! + +An extension class provides easy to call methods for adding the Bot's services/configuration into the dependency injection (DI) pipeline. + +## Web Template +This is a very minimal project. By itself it only has a default endpoint which displays "Hello World". + +## Solution Template +Combines the bot and web templates. Includes the appropriate references/calls to get your bot up and running with minimal +effort. diff --git a/DisCatSharp.Docs/articles/important_changes/9_8_4.md b/DisCatSharp.Docs/articles/important_changes/9_8_4.md index 27f970e54..1d0b6192f 100644 --- a/DisCatSharp.Docs/articles/important_changes/9_8_4.md +++ b/DisCatSharp.Docs/articles/important_changes/9_8_4.md @@ -1,134 +1,136 @@ --- uid: important_changes_9_8_4 title: Version 9.8.4 --- # Upgrade from **9.8.3** to **9.8.4** ## What is new in #discatsharp? - Components - Scheduled Events - New Application Fields - A ExecuteRawRequest Method - Threads - Hosting Packages - New Templates - Better Guild Channel Operations - New Permissions - New Application Command Permission (Not v2 yet) - A new Logo :3 :heart: ## What changed? ### Threads We have fixed many bugs in threads over time, and they work completely now. - [DisCatSharp.Net.Models.ThreadEditModel](https://docs.dcs.aitsys.dev/api/DisCatSharp.Net.Models.ThreadEditModel.html) has a new field called [PerUserRateLimit](https://docs.dcs.aitsys.dev/api/DisCatSharp.Net.Models.ThreadEditModel.html#DisCatSharp_Net_Models_ThreadEditModel_PerUserRateLimit). - [DisCatSharp.Entities.DiscordThreadChannel](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordThreadChannel.html) now supports [DisCatSharp.Entities.DiscordThreadChannel#GetMemberAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordThreadChannel.html?q=DiscordThreadChannel#DisCatSharp_Entities_DiscordThreadChannel_GetMemberAsync_System_UInt64_) ### Components We support every Component available on the API. ### Discord Application Object [DiscordApplication](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordApplication.html) now includes the property fields: - [CustomInstallUrl](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordApplication.html#DisCatSharp_Entities_DiscordApplication_CustomInstallUrl) - [InstallParams](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordApplication.html#DisCatSharp_Entities_DiscordApplication_InstallParams) - [Tags](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordApplication.html#DisCatSharp_Entities_DiscordApplication_Tags) You can find the settings for these fields in the [Discord Developer Portal](https://discord.com/developers/applications). ### Scheduled Events The new scheduled events are already fully supported by us. **Entities:** -- [DisCatSharp.Entities.DiscordScheduledEvent](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordScheduledEvent.html) -- [DisCatSharp.Entities.DiscordScheduledEventEntityMetadata](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordScheduledEventEntityMetadata.html) -- [DisCatSharp.Entities.DiscordScheduledEventUser](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordScheduledEventUser.html) +- [DisCatSharp.Entities.DiscordScheduledEvent](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordScheduledEvent.html) +- [DisCatSharp.Entities.DiscordScheduledEventEntityMetadata](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordScheduledEventEntityMetadata.html) +- [DisCatSharp.Entities.DiscordScheduledEventUser](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordScheduledEventUser.html) **Emums:** -- [DisCatSharp.ScheduledEventEntityType](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.ScheduledEventEntityType.html) -- [DisCatSharp.ScheduledEventStatus](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.ScheduledEventStatus.html) +- [DisCatSharp.ScheduledEventEntityType](https://docs.dcs.aitsys.dev/api/DisCatSharp.ScheduledEventEntityType.html) +- [DisCatSharp.ScheduledEventStatus](https://docs.dcs.aitsys.dev/api/DisCatSharp.ScheduledEventStatus.html) **Events:** -- [DisCatSharp.EventArgs.GuildScheduledEventCreateEventArgs](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.EventArgs.GuildScheduledEventCreateEventArgs.html) -- [DisCatSharp.EventArgs.GuildScheduledEventUpdateEventArgs](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.EventArgs.GuildScheduledEventUpdateEventArgs.html) -- [DisCatSharp.EventArgs.GuildScheduledEventDeleteEventArgs](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.EventArgs.GuildScheduledEventDeleteEventArgs.html) -- [DisCatSharp.EventArgs.GuildScheduledEventUserAddEventArgs](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.EventArgs.GuildScheduledEventUserAddEventArgs.html) -- [DisCatSharp.EventArgs.GuildScheduledEventUserRemoveEventArgs](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.EventArgs.GuildScheduledEventUserRemoveEventArgs.html) +- [DisCatSharp.EventArgs.GuildScheduledEventCreateEventArgs](https://docs.dcs.aitsys.dev/api/DisCatSharp.EventArgs.GuildScheduledEventCreateEventArgs.html) +- [DisCatSharp.EventArgs.GuildScheduledEventUpdateEventArgs](https://docs.dcs.aitsys.dev/api/DisCatSharp.EventArgs.GuildScheduledEventUpdateEventArgs.html) +- [DisCatSharp.EventArgs.GuildScheduledEventDeleteEventArgs](https://docs.dcs.aitsys.dev/api/DisCatSharp.EventArgs.GuildScheduledEventDeleteEventArgs.html) +- [DisCatSharp.EventArgs.GuildScheduledEventUserAddEventArgs](https://docs.dcs.aitsys.dev/api/DisCatSharp.EventArgs.GuildScheduledEventUserAddEventArgs.html) +- [DisCatSharp.EventArgs.GuildScheduledEventUserRemoveEventArgs](https://docs.dcs.aitsys.dev/api/DisCatSharp.EventArgs.GuildScheduledEventUserRemoveEventArgs.html) **Models:** - [DisCatSharp.Net.Models.ScheduledEventEditModel](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Net.Models.ScheduledEventEditModel.html) **Extra Properties:** -- [DisCatSharp.Entities.DiscordGuild#ScheduledEvents](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_ScheduledEvents) +- [DisCatSharp.Entities.DiscordGuild#ScheduledEvents](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_ScheduledEvents) **Extra Methods:** -- [DisCatSharp.Entities.DiscordGuild#CreateScheduledEventAsync](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_CreateScheduledEventAsync_System_String_DateTimeOffset_System_Nullable_DateTimeOffset__DisCatSharp_Entities_DiscordChannel_DisCatSharp_Entities_DiscordScheduledEventEntityMetadata_System_String_DisCatSharp_ScheduledEventEntityType_System_String_) -- [DisCatSharp.Entities.DiscordGuild#CreateExternalScheduledEventAsync](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_CreateExternalScheduledEventAsync_System_String_DateTimeOffset_DateTimeOffset_System_String_System_String_System_String_) -- [DisCatSharp.Entities.DiscordGuild#GetScheduledEventAsync](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_GetScheduledEventAsync_DisCatSharp_Entities_DiscordScheduledEvent_System_Nullable_System_Boolean__) -- [DisCatSharp.Entities.DiscordGuild#GetScheduledEventsAsync](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_GetScheduledEventsAsync_System_Nullable_System_Boolean__) -- [DisCatSharp.Entities.DiscordChannel#CreateScheduledEventAsync](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_CreateScheduledEventAsync_System_String_DateTimeOffset_System_String_System_String_) +- [DisCatSharp.Entities.DiscordGuild#CreateScheduledEventAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_CreateScheduledEventAsync_System_String_DateTimeOffset_System_Nullable_DateTimeOffset__DisCatSharp_Entities_DiscordChannel_DisCatSharp_Entities_DiscordScheduledEventEntityMetadata_System_String_DisCatSharp_ScheduledEventEntityType_System_String_) +- [DisCatSharp.Entities.DiscordGuild#CreateExternalScheduledEventAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_CreateExternalScheduledEventAsync_System_String_DateTimeOffset_DateTimeOffset_System_String_System_String_System_String_) +- [DisCatSharp.Entities.DiscordGuild#GetScheduledEventAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_GetScheduledEventAsync_DisCatSharp_Entities_DiscordScheduledEvent_System_Nullable_System_Boolean__) +- [DisCatSharp.Entities.DiscordGuild#GetScheduledEventsAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_GetScheduledEventsAsync_System_Nullable_System_Boolean__) +- [DisCatSharp.Entities.DiscordChannel#CreateScheduledEventAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_CreateScheduledEventAsync_System_String_DateTimeOffset_System_String_System_String_) ### Audit Log - [DisCatSharp.Entities.DiscordAuditLogGuildEntry](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordAuditLogGuildEntry.html) has the new field [PremiumProgressBarChange](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordAuditLogGuildEntry.html#DisCatSharp_Entities_DiscordAuditLogGuildEntry_PremiumProgressBarChange) - Added [DisCatSharp.Entities.DiscordAuditLogScheduledEventEntry](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordAuditLogScheduledEventEntry.html) ### Enums We've updated some enums to reflect the [API Documentation](https://discord.com/developers/docs/intro) of Discord: - [DisCatSharp.PremiumTier](https://docs.dcs.aitsys.dev/api/DisCatSharp.PremiumTier.html) - [DisCatSharp.StagePrivacyLevel](https://docs.dcs.aitsys.dev/api/DisCatSharp.StagePrivacyLevel.html) - [DisCatSharp.UserFlags](https://docs.dcs.aitsys.dev/api/DisCatSharp.UserFlags.html) ### DisCatSharp.CommandsNext - `RequireDiscordEmployeeAttribute` is now `RequireStaffAttribute` - `RequireDiscordCertifiedModeratorAttribute` is now `RequireCertifiedModeratorAttribute` ### ExecuteRawRequest -We added the [ExecuteRawRequestAsync](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.DiscordClient.html#DisCatSharp_DiscordClient_ExecuteRawRequestAsync_RestRequestMethod_System_String_System_Object_System_String_Dictionary_System_String_System_String__System_Nullable_System_Double__) method. +We added the [ExecuteRawRequestAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.DiscordClient.html#DisCatSharp_DiscordClient_ExecuteRawRequestAsync_RestRequestMethod_System_String_System_Object_System_String_Dictionary_System_String_System_String__System_Nullable_System_Double__) method. ### Better Guild Channel Operations We did some engineering in the Discord API to create a method which gets an [ordered channel dictionary](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_OrderedChannels). Furthermore, we added a few new functions to [DisCatSharp.Entities.DiscordGuild](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordGuild.): -- [DisCatSharp.Entities.DiscordGuild#GetOrderedChannels](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_GetOrderedChannels) -- [DisCatSharp.Entities.DiscordGuild#GetOrderedChannelsAsync](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_GetOrderedChannelsAsync) +- [DisCatSharp.Entities.DiscordGuild#GetOrderedChannels](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_GetOrderedChannels) +- [DisCatSharp.Entities.DiscordGuild#GetOrderedChannelsAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordGuild.html#DisCatSharp_Entities_DiscordGuild_GetOrderedChannelsAsync) And a couple more methods to [DisCatSharp.Entities.DiscordChannel](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordChannel): -- [DisCatSharp.Entities.DiscordChannel#GetMinPosition](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_GetMinPosition) -- [DisCatSharp.Entities.DiscordChannel#GetMaxPosition](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_GetMaxPosition) -- [DisCatSharp.Entities.DiscordChannel#ModifyPositionAsync](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_ModifyPositionAsync_System_Int32_System_String_) -- [DisCatSharp.Entities.DiscordChannel#RefreshPositionsAsync](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_RefreshPositionsAsync) -- [DisCatSharp.Entities.DiscordChannel#ModifyPositionInCategorySmartAsync](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_ModifyPositionInCategoryAsync_System_Int32_System_String_) -- [DisCatSharp.Entities.DiscordChannel#ModifyParentAsync](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_ModifyParentAsync_DisCatSharp_Entities_DiscordChannel_System_Nullable_System_Boolean__System_String_) -- [DisCatSharp.Entities.DiscordChannel#RemoveParentAsync](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_RemoveParentAsync_System_String_) +- [DisCatSharp.Entities.DiscordChannel#GetMinPosition](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_GetMinPosition) +- [DisCatSharp.Entities.DiscordChannel#GetMaxPosition](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_GetMaxPosition) +- [DisCatSharp.Entities.DiscordChannel#ModifyPositionAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_ModifyPositionAsync_System_Int32_System_String_) +- [DisCatSharp.Entities.DiscordChannel#RefreshPositionsAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_RefreshPositionsAsync) +- [DisCatSharp.Entities.DiscordChannel#ModifyPositionInCategorySmartAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_ModifyPositionInCategoryAsync_System_Int32_System_String_) +- [DisCatSharp.Entities.DiscordChannel#ModifyParentAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_ModifyParentAsync_DisCatSharp_Entities_DiscordChannel_System_Nullable_System_Boolean__System_String_) +- [DisCatSharp.Entities.DiscordChannel#RemoveParentAsync](https://docs.dcs.aitsys.dev/api/DisCatSharp.Entities.DiscordChannel.html#DisCatSharp_Entities_DiscordChannel_RemoveParentAsync_System_String_) ### New Permissions - SendMessagesInThreads - StartEmbeddedActivities - ManageEvents ### New Application Command Permission (Not v2 yet) -- [DisCatSharp.ApplicationCommands.ApplicationCommandsPermissionContext#AddUser](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.ApplicationCommands.ApplicationCommandsPermissionContext.html#DisCatSharp_ApplicationCommands_ApplicationCommandsPermissionContext_AddUser_System_UInt64_System_Boolean_) -- [DisCatSharp.ApplicationCommands.ApplicationCommandsPermissionContext#AddRole](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.ApplicationCommands.ApplicationCommandsPermissionContext.html#DisCatSharp_ApplicationCommands_ApplicationCommandsPermissionContext_AddRole_System_UInt64_System_Boolean_) -- [DisCatSharp.ApplicationCommands.ApplicationCommandsPermissionContext#AddChannel](https://docs.dcs.aitsys.dev/events/api/DisCatSharp.ApplicationCommands.ApplicationCommandsPermissionContext.html#DisCatSharp_ApplicationCommands_ApplicationCommandsPermissionContext_AddChannel_System_UInt64_System_Boolean_) +- [DisCatSharp.ApplicationCommands.ApplicationCommandsPermissionContext#AddUser](https://docs.dcs.aitsys.dev/api/DisCatSharp.ApplicationCommands.ApplicationCommandsPermissionContext.html#DisCatSharp_ApplicationCommands_ApplicationCommandsPermissionContext_AddUser_System_UInt64_System_Boolean_) +- [DisCatSharp.ApplicationCommands.ApplicationCommandsPermissionContext#AddRole](https://docs.dcs.aitsys.dev/api/DisCatSharp.ApplicationCommands.ApplicationCommandsPermissionContext.html#DisCatSharp_ApplicationCommands_ApplicationCommandsPermissionContext_AddRole_System_UInt64_System_Boolean_) +- [DisCatSharp.ApplicationCommands.ApplicationCommandsPermissionContext#AddChannel](https://docs.dcs.aitsys.dev/api/DisCatSharp.ApplicationCommands.ApplicationCommandsPermissionContext.html#DisCatSharp_ApplicationCommands_ApplicationCommandsPermissionContext_AddChannel_System_UInt64_System_Boolean_) ### New Templates We added a few templates for you: - [DisCatSharp.ProjectTemplates](https://github.com/Aiko-IT-Systems/DisCatSharp.ProjectTemplates) - [DisCatSharp.TemplateBot](https://github.com/Aiko-IT-Systems/DisCatSharp.TemplateBot) ### Hosting Packages You can run your bot as a hosted service now! -If you're interested, check out this [article](https://docs.dcs.aitsys.dev/events/articles/basics/web_app.html). +If you're interested, check out this [article](https://docs.dcs.aitsys.dev/articles/basics/web_app.html). + +You can also check out our new [templates](https://docs.dcs.aitsys.dev/articles/basics/templates.html)! diff --git a/DisCatSharp.Docs/articles/toc.yml b/DisCatSharp.Docs/articles/toc.yml index 212f48abc..0a8ab2712 100644 --- a/DisCatSharp.Docs/articles/toc.yml +++ b/DisCatSharp.Docs/articles/toc.yml @@ -1,95 +1,97 @@ - name: Preamble href: preamble.md - name: Important Changes items: - name: Version 9.8.4 href: important_changes/9_8_4.md - name: Version 9.8.3 href: important_changes/9_8_3.md - name: Version 9.8.2 href: important_changes/9_8_2.md - name: The Basics items: - name: Creating a Bot Account href: basics/bot_account.md - name: Writing Your First Bot href: basics/first_bot.md - name: Bot as Hosted Service href: basics/web_app.md + - name: Project Templates + href: basics/templates.md - name: Beyond Basics items: - name: Events href: beyond_basics/events.md - name: Logging href: beyond_basics/logging/default.md items: - name: The Default Logger href: beyond_basics/logging/default.md - name: Third Party Loggers href: beyond_basics/logging/third_party.md - name: Intents href: beyond_basics/intents.md - name: Sharding href: beyond_basics/sharding.md - name: Message Builder href: beyond_basics/messagebuilder.md - name: Components items: - name: Buttons href: beyond_basics/components/buttons.md - name: Select Menu href: beyond_basics/components/select_menus.md - name: Workarounds href: beyond_basics/workarounds.md - name: Application Commands items: - name: Introduction href: application_commands/intro.md - name: Options href: application_commands/options.md - name: Events href: application_commands/events.md - name: Commands items: - name: Introduction href: commands/intro.md - name: Command Attributes href: commands/command_attributes.md - name: Dependency Injection href: commands/dependency_injection.md - name: Customization items: - name: Help Formatter href: commands/help_formatter.md - name: Argument Converters href: commands/argument_converters.md - name: Command Handler href: commands/command_handler.md - name: Audio items: - name: Lavalink items: - name: Setup href: audio/lavalink/setup.md - name: Configuration href: audio/lavalink/configuration.md - name: Music Commands href: audio/lavalink/music_commands.md - name: VoiceNext items: - name: Prerequisites href: audio/voicenext/prerequisites.md - name: Transmitting href: audio/voicenext/transmit.md - name: Receiving href: audio/voicenext/receive.md - name: Interactivity href: interactivity.md - name: Hosting href: hosting.md - name: Miscellaneous items: - name: Nightly Builds href: misc/nightly_builds.md - name: Reporting Issues href: misc/reporting_issues.md diff --git a/DisCatSharp.Docs/images/pt_nuget_install.png b/DisCatSharp.Docs/images/pt_nuget_install.png new file mode 100644 index 000000000..62bf16475 Binary files /dev/null and b/DisCatSharp.Docs/images/pt_nuget_install.png differ diff --git a/DisCatSharp.Docs/images/pt_project_new.png b/DisCatSharp.Docs/images/pt_project_new.png new file mode 100644 index 000000000..b146057a6 Binary files /dev/null and b/DisCatSharp.Docs/images/pt_project_new.png differ diff --git a/DisCatSharp.Docs/images/pt_project_new_classification.png b/DisCatSharp.Docs/images/pt_project_new_classification.png new file mode 100644 index 000000000..a6a9f8bf0 Binary files /dev/null and b/DisCatSharp.Docs/images/pt_project_new_classification.png differ diff --git a/DisCatSharp.Docs/images/pt_project_new_name.png b/DisCatSharp.Docs/images/pt_project_new_name.png new file mode 100644 index 000000000..88b85ab32 Binary files /dev/null and b/DisCatSharp.Docs/images/pt_project_new_name.png differ diff --git a/DisCatSharp.Docs/images/pt_project_new_options.png b/DisCatSharp.Docs/images/pt_project_new_options.png new file mode 100644 index 000000000..eb299e6b5 Binary files /dev/null and b/DisCatSharp.Docs/images/pt_project_new_options.png differ diff --git a/DisCatSharp.Docs/images/pt_scaffolded.png b/DisCatSharp.Docs/images/pt_scaffolded.png new file mode 100644 index 000000000..f699dabdb Binary files /dev/null and b/DisCatSharp.Docs/images/pt_scaffolded.png differ