izolabella.Discord 2.3.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package izolabella.Discord --version 2.3.3
NuGet\Install-Package izolabella.Discord -Version 2.3.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="izolabella.Discord" Version="2.3.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add izolabella.Discord --version 2.3.3
#r "nuget: izolabella.Discord, 2.3.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install izolabella.Discord as a Cake Addin
#addin nuget:?package=izolabella.Discord&version=2.3.3

// Install izolabella.Discord as a Cake Tool
#tool nuget:?package=izolabella.Discord&version=2.3.3

💞 izolabella.Discord

This project was created as an alternative command handling library to the provided Discord.NET command handler, mostly for custom behavior not already provided. It is also considerably lighter than other handlers, and thus much easier to get started with.

👩‍💻 Getting Started

This project is available through NuGet.org;

  • Package Manager (Visual Studio)
Install-Package izolabella.Discord
  • .NET CLI
dotnet add package izolabella.Discord

This project uses Discord.NET to function!*

⌨️ Code

A new instance of the DiscordWrapper class must be initialized.

DiscordSocketClient DiscordNETClient = new DiscordSocketClient();
DiscordWrapper DiscordWrapper = new DiscordWrapper(DiscordNETClient);

The DiscordWrapper class has a property (CommandHandler) that allows for other optional configurations for message pre-validation, such as whether to allow bots to interact with the CommandHandler or not.

DiscordWrapper.CommandHandler.AllowBotInteractions = false;

To mark a method as a command, the CommandAttribute attribute should be attached to a method with a CommandArguments parameter. Other parameters may be provided as Options in Discord. Read more about slash command options.

namespace MyDiscordBot.Commands
{
    public class Example
    {
        [CommandAttribute(new string[] { "slash-command", }, "Description of my slash command.)]
        public static void ExampleCommand(CommandArguments Args, double FirstParameter, string? SecondOptionalParameter)
        {
            Console.Out.WriteLine(Args.User.UserName + $" has fired this command with the following parameters:\n{FirstParameter}, {(SecondOptionalParameter ?? "[no second param]")}");
        }
    }
}

Once the above is accomplished, call the DiscordWrapper.StartReceiving() method to allow the handler to begin processing your commands.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
7.0.2 484 7/8/2022
7.0.1 399 7/8/2022
7.0.0 397 7/8/2022
6.3.0 403 7/4/2022
6.2.0 398 7/4/2022
6.1.7 408 7/4/2022
6.1.6 396 6/3/2022
6.1.5 376 6/3/2022
6.1.4 386 6/3/2022
6.1.3 380 6/3/2022
6.1.2 379 6/3/2022
6.1.1 379 6/2/2022
6.1.0 392 5/27/2022
6.0.0 378 5/27/2022
5.1.0 410 5/23/2022
5.1.0-beta 146 5/22/2022
5.0.0-beta 144 5/22/2022
4.1.1 392 5/22/2022
4.1.0 398 5/22/2022
4.0.0 429 3/28/2022
3.0.1 413 3/21/2022
3.0.0 398 3/21/2022
2.3.4 407 3/21/2022
2.3.3 409 3/21/2022
2.3.2 405 3/20/2022
2.3.1 401 3/18/2022
2.3.0 397 3/18/2022
2.2.1 412 3/17/2022
2.2.0 413 3/16/2022
2.1.0 419 3/11/2022
2.0.4 405 3/11/2022
2.0.3 402 3/11/2022
2.0.2 397 3/11/2022
2.0.1 407 3/11/2022
2.0.0 410 3/11/2022
1.0.5 459 3/9/2022
1.0.4 449 3/9/2022
1.0.3 442 3/9/2022
1.0.2 439 3/7/2022
1.0.1 445 3/7/2022
1.0.0 447 3/7/2022

Fixed a bug where handling nullable primitive types wouldn't use its underlying type again, and worked on parameter ordering. Fixed IMentionable coming before the other interfaces.