izolabella.Discord
6.1.7
See the version list below for details.
dotnet add package izolabella.Discord --version 6.1.7
NuGet\Install-Package izolabella.Discord -Version 6.1.7
<PackageReference Include="izolabella.Discord" Version="6.1.7" />
paket add izolabella.Discord --version 6.1.7
#r "nuget: izolabella.Discord, 6.1.7"
// Install izolabella.Discord as a Cake Addin
#addin nuget:?package=izolabella.Discord&version=6.1.7
// Install izolabella.Discord as a Cake Tool
#tool nuget:?package=izolabella.Discord&version=6.1.7
💞 izolabella.Discord
This project is an alternative to the command handler provided by Discord.NET for providing more detail to commands in a lightweight manner.
🌸 Quality Status
👩💻 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 IzolabellaDiscordCommandClient
class must be initialized. The class takes a DiscordSocketConfig
argument for the client, and a bool
for whether or not the commands should be updated per guild or globally.
IzolabellaDiscordCommandClient Client = new(new DiscordSocketConfig(), false);
The current version of this library uses classes for commands. To create a command, create a class that inherits the interface IIzolabellaCommand
. These classes must have parameterless constructors.
namespace MyDiscordBot.Commands
{
public class MyCommand : IIzolabellaCommand
{
public string Name => "Command";
public string Description => "My command's description.'";
public bool GuildsOnly => true;
public List<IIzolabellaCommandConstraint> Constraints { get; } = new();
public List<IzolabellaCommandParameter> Parameters { get; } = new()
{
new IzolabellaCommandParameter("Param", "This is my parameter!", ApplicationCommandOptionType.Channel, true)
};
public Task RunAsync(CommandContext Context, IzolabellaCommandArgument[] Arguments)
{
// command runs here!
}
public Task OnLoadAsync(IIzolabellaCommand[] AllCommands)
{
// runs when all commands have been initialized - fired once.
}
public Task OnConstrainmentAsync(CommandContext Context, IzolabellaCommandArgument[] Arguments, IIzolabellaCommandConstraint ConstraintThatFailed)
{
// when one of the constrainments don't pass the validity check by the handler, this method gets called.
}
}
}
To get things going, call the following method on the IzolabellaDiscordCommandClient
instance you have created:
await Client.StartAsync();
I want to make this as useable as possible for you. I have no in-depth documentation since things are currently changing rapidly. For questions and how-tos, please send me a request on Discord at izolabella.bin#0216
.
Product | Versions 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. |
-
net6.0
- Discord.Net (>= 3.7.0)
- Discord.Net.Core (>= 3.7.0)
- Discord.Net.Rest (>= 3.7.0)
- Discord.Net.Webhook (>= 3.7.0)
- Discord.Net.WebSocket (>= 3.7.0)
- izolabella.PrettyConsole (>= 1.1.0)
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 | 485 | 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 |
Added StopAsync method.