| @@ -24,8 +24,8 @@ You may be confusing [CommandService#AddModulesAsync] with | |||
| [CommandService#AddModuleAsync]. The former is used to add modules | |||
| via the assembly, while the latter is used to add a single module. | |||
| [CommandService#AddModulesAsync]: xref:Discord.Commands.CommandService#Discord_Commands_CommandService_AddModulesAsync_Assembly_System_IServiceProvider_ | |||
| [CommandService#AddModuleAsync]: xref:Discord.Commands.CommandService#Discord_Commands_CommandService_AddModuleAsync__1_System_IServiceProvider_ | |||
| [CommandService#AddModulesAsync]: xref:Discord.Commands.CommandService.AddModulesAsync* | |||
| [CommandService#AddModuleAsync]: xref:Discord.Commands.CommandService.AddModuleAsync* | |||
| ## What does [Remainder] do in the command signature? | |||
| @@ -104,7 +104,7 @@ the [DefaultRunMode] flag under `CommandServiceConfig`. | |||
| [RunMode]: xref:Discord.Commands.RunMode | |||
| [CommandAttribute]: xref:Discord.Commands.CommandAttribute | |||
| [DefaultRunMode]: xref:Discord.Commands.CommandServiceConfig#Discord_Commands_CommandServiceConfig_DefaultRunMode | |||
| [DefaultRunMode]: xref:Discord.Commands.CommandServiceConfig.DefaultRunMode | |||
| ## How does `RunMode.Async` work, and why is Discord.NET *not* using it by default? | |||
| @@ -134,10 +134,10 @@ For #4, exceptions are caught in [CommandService#Log] event under | |||
| [Task.Run]: https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task.run | |||
| [async state machine]: https://www.red-gate.com/simple-talk/dotnet/net-tools/c-async-what-is-it-and-how-does-it-work/ | |||
| [ExecuteAsync]: xref:Discord.Commands.CommandService#Discord_Commands_CommandService_ExecuteAsync_Discord_Commands_ICommandContext_System_Int32_System_IServiceProvider_Discord_Commands_MultiMatchHandling_ | |||
| [ExecuteAsync]: xref:Discord.Commands.CommandService.ExecuteAsync* | |||
| [ExecuteResult]: xref:Discord.Commands.ExecuteResult | |||
| [RuntimeResult]: xref:Discord.Commands.RuntimeResult | |||
| [CommandExecuted]: xref:Discord.Commands.CommandService#Discord_Commands_CommandService_CommandExecuted | |||
| [CommandService#Log]: xref:Discord.Commands.CommandService#Discord_Commands_CommandService_Log | |||
| [LogMessage.Exception]: xref:Discord.LogMessage#Discord_LogMessage_Exception | |||
| [CommandExecuted]: xref:Discord.Commands.CommandService.CommandExecuted | |||
| [CommandService#Log]: xref:Discord.Commands.CommandService.Log | |||
| [LogMessage.Exception]: xref:Discord.LogMessage.Exception* | |||
| [CommandException]: xref:Discord.Commands.CommandException | |||
| @@ -36,8 +36,8 @@ means casting is your friend. You should attempt to cast the channel | |||
| as an [IMessageChannel] or any other entity that implements it to be | |||
| able to message. | |||
| [SendMessageAsync]: xref:Discord.IMessageChannel#Discord_IMessageChannel_SendMessageAsync_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_ | |||
| [GetChannel]: xref:Discord.WebSocket.DiscordSocketClient#Discord_WebSocket_DiscordSocketClient_GetChannel_System_UInt64_ | |||
| [SendMessageAsync]: xref:Discord.IMessageChannel.SendMessageAsync* | |||
| [GetChannel]: xref:Discord.WebSocket.DiscordSocketClient.GetChannel* | |||
| ## How can I tell if a message is from X, Y, Z channel? | |||
| @@ -71,7 +71,7 @@ implement [IEmote] and are valid options. | |||
| [!code-csharp[Emoji](samples/basics/emoji.cs)] | |||
| [AddReactionAsync]: xref:Discord.IUserMessage#Discord_IUserMessage_AddReactionAsync_Discord_IEmote_Discord_RequestOptions_ | |||
| [AddReactionAsync]: xref:Discord.IUserMessage.AddReactionAsync* | |||
| ## Why am I getting so many preemptive rate limits when I try to add more than one reactions? | |||
| @@ -34,8 +34,8 @@ particular guild has downloaded; however, it's best to wait for all | |||
| guilds to be downloaded. Once all downloads are complete, the [Ready] | |||
| event is triggered, then you can proceed to do whatever you like. | |||
| [Ready]: xref:Discord.WebSocket.DiscordSocketClient#Discord_WebSocket_DiscordSocketClient_Ready | |||
| [GuildAvailable]: xref:Discord.WebSocket.BaseSocketClient#Discord_WebSocket_BaseSocketClient_GuildAvailable | |||
| [Ready]: xref:Discord.WebSocket.DiscordSocketClient.Ready | |||
| [GuildAvailable]: xref:Discord.WebSocket.BaseSocketClient.GuildAvailable | |||
| ## How do I get a message's previous content when that message is edited? | |||
| @@ -49,6 +49,6 @@ use the cached message entity. Read more about it [here](../guides/concepts/even | |||
| 3. Only messages received *after* the bot comes online will be | |||
| available in the cache. | |||
| [MessageCacheSize]: xref:Discord.WebSocket.DiscordSocketConfig#Discord_WebSocket_DiscordSocketConfig_MessageCacheSize | |||
| [MessageCacheSize]: xref:Discord.WebSocket.DiscordSocketConfig.MessageCacheSize | |||
| [DiscordSocketConfig]: xref:Discord.WebSocket.DiscordSocketConfig | |||
| [MessageUpdated]: xref:Discord.WebSocket.BaseSocketClient#Discord_WebSocket_BaseSocketClient_MessageUpdated | |||
| [MessageUpdated]: xref:Discord.WebSocket.BaseSocketClient.MessageUpdated | |||
| @@ -134,7 +134,7 @@ accessing the channel through the [Context] and sending a message. | |||
| [Context]: xref:Discord.Commands.ModuleBase`1#Discord_Commands_ModuleBase_1_Context | |||
| [SocketCommandContext]: xref:Discord.Commands.SocketCommandContext | |||
| [ReplyAsync]: xref:Discord.Commands.ModuleBase`1#Discord_Commands_ModuleBase_1_ReplyAsync_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_ | |||
| [ReplyAsync]: xref:Discord.Commands.ModuleBase`1.ReplyAsync* | |||
| ### Example Module | |||
| @@ -153,7 +153,7 @@ Invoke [CommandService.AddModulesAsync] to discover modules and | |||
| install them. | |||
| [DontAutoLoadAttribute]: xref:Discord.Commands.DontAutoLoadAttribute | |||
| [CommandService.AddModulesAsync]: xref:Discord.Commands.CommandService#Discord_Commands_CommandService_AddModulesAsync_Assembly_System_IServiceProvider_ | |||
| [CommandService.AddModulesAsync]: xref:Discord.Commands.CommandService.AddModulesAsync* | |||
| #### Loading Modules Manually | |||
| @@ -161,7 +161,7 @@ To manually load a module, invoke [CommandService.AddModuleAsync] by | |||
| passing in the generic type of your module and optionally, a | |||
| service provider. | |||
| [CommandService.AddModuleAsync]: xref:Discord.Commands.CommandService#Discord_Commands_CommandService_AddModuleAsync__1_System_IServiceProvider_ | |||
| [CommandService.AddModuleAsync]: xref:Discord.Commands.CommandService.AddModuleAsync* | |||
| ### Module Constructors | |||
| @@ -228,8 +228,8 @@ Any publicly settable properties will also be filled in the same | |||
| manner. | |||
| >[!NOTE] | |||
| > Annotating a property with a [DontInjectAttribute] attribute will prevent the | |||
| property from being injected. | |||
| > Annotating a property with a [DontInjectAttribute] attribute will | |||
| > prevent the property from being injected. | |||
| >[!NOTE] | |||
| >If you accept `CommandService` or `IServiceProvider` as a parameter | |||
| @@ -283,9 +283,9 @@ necessary. | |||
| [!code-csharp[Custom Precondition](samples/require_owner.cs)] | |||
| [CheckPermissionsAsync]: xref:Discord.Commands.PreconditionAttribute#Discord_Commands_PreconditionAttribute_CheckPermissionsAsync_Discord_Commands_ICommandContext_Discord_Commands_CommandInfo_System_IServiceProvider_ | |||
| [PreconditionResult.FromSuccess]: xref:Discord.Commands.PreconditionResult#Discord_Commands_PreconditionResult_FromSuccess | |||
| [PreconditionResult.FromError]: xref:Discord.Commands.PreconditionResult#Discord_Commands_PreconditionResult_FromError_System_String_ | |||
| [CheckPermissionsAsync]: xref:Discord.Commands.PreconditionAttribute.CheckPermissionsAsync* | |||
| [PreconditionResult.FromSuccess]: xref:Discord.Commands.PreconditionResult.FromSuccess* | |||
| [PreconditionResult.FromError]: xref:Discord.Commands.PreconditionResult.FromError* | |||
| # Type Readers | |||
| @@ -329,9 +329,9 @@ If you are able to successfully parse the input, return | |||
| necessary. | |||
| [TypeReaderResult]: xref:Discord.Commands.TypeReaderResult | |||
| [TypeReaderResult.FromSuccess]: xref:Discord.Commands.TypeReaderResult#Discord_Commands_TypeReaderResult_FromSuccess_Discord_Commands_TypeReaderValue_ | |||
| [TypeReaderResult.FromError]: xref:Discord.Commands.TypeReaderResult#Discord_Commands_TypeReaderResult_FromError_Discord_Commands_CommandError_System_String_ | |||
| [ReadAsync]: xref:Discord.Commands.TypeReader#Discord_Commands_TypeReader_ReadAsync_Discord_Commands_ICommandContext_System_String_System_IServiceProvider_ | |||
| [TypeReaderResult.FromSuccess]: xref:Discord.Commands.TypeReaderResult.FromSuccess* | |||
| [TypeReaderResult.FromError]: xref:Discord.Commands.TypeReaderResult.FromError* | |||
| [ReadAsync]: xref:Discord.Commands.TypeReader.ReadAsync* | |||
| #### Sample | |||
| @@ -344,4 +344,4 @@ and must be explicitly added. | |||
| To install a TypeReader, invoke [CommandService.AddTypeReader]. | |||
| [CommandService.AddTypeReader]: xref:Discord.Commands.CommandService#Discord_Commands_CommandService_AddTypeReader__1_Discord_Commands_TypeReader_ | |||
| [CommandService.AddTypeReader]: xref:Discord.Commands.CommandService.AddTypeReader* | |||
| @@ -3,12 +3,12 @@ title: Logging | |||
| --- | |||
| Discord.Net's clients provide a [Log] event that all messages will be | |||
| disbatched over. | |||
| dispatched over. | |||
| For more information about events in Discord.Net, see the [Events] | |||
| section. | |||
| [Log]: xref:Discord.Rest.BaseDiscordClient#Discord_Rest_BaseDiscordClient_Log | |||
| [Log]: xref:Discord.Rest.BaseDiscordClient.Log | |||
| [Events]: events.md | |||
| ### Usage | |||
| @@ -105,7 +105,7 @@ the Console. | |||
| [!code-csharp[Async Context](samples/intro/logging.cs)] | |||
| [API Documentation]: xref:Discord.Rest.BaseDiscordClient#Discord_Rest_BaseDiscordClient_Log | |||
| [API Documentation]: xref:Discord.Rest.BaseDiscordClient.Log | |||
| ### Creating a Discord Client | |||
| @@ -212,7 +212,7 @@ shown below. | |||
| For your reference, you may view the [completed program]. | |||
| [MessageReceived]: xref:Discord.WebSocket.BaseSocketClient#Discord_WebSocket_BaseSocketClient_MessageReceived | |||
| [MessageReceived]: xref:Discord.WebSocket.BaseSocketClient.MessageReceived | |||
| [SocketMessage]: xref:Discord.WebSocket.SocketMessage | |||
| [SocketMessageChannel]: xref:Discord.WebSocket.ISocketMessageChannel | |||
| [completed program]: samples/intro/complete.cs | |||
| @@ -44,7 +44,7 @@ guild. To switch channels within a guild, invoke [ConnectAsync] on | |||
| another voice channel in the guild. | |||
| [IAudioClient]: xref:Discord.Audio.IAudioClient | |||
| [ConnectAsync]: xref:Discord.IAudioChannel#Discord_IAudioChannel_ConnectAsync_System_Action_IAudioClient__ | |||
| [ConnectAsync]: xref:Discord.IAudioChannel.ConnectAsync* | |||
| ## Transmitting Audio | |||