Disc.NET.Commands 1.0.2

dotnet add package Disc.NET.Commands --version 1.0.2
                    
NuGet\Install-Package Disc.NET.Commands -Version 1.0.2
                    
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="Disc.NET.Commands" Version="1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Disc.NET.Commands" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="Disc.NET.Commands" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Disc.NET.Commands --version 1.0.2
                    
#r "nuget: Disc.NET.Commands, 1.0.2"
                    
#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.
#:package Disc.NET.Commands@1.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Disc.NET.Commands&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=Disc.NET.Commands&version=1.0.2
                    
Install as a Cake Tool

Disc.NET

Disc.NET é um projeto experimental para a construção de uma biblioteca de interação com a API do Discord, utilizando .NET 8+. O objetivo é criar uma alternativa modular, focada em performance e facilidade de uso através de padrões modernos de desenvolvimento.

O projeto ainda está em fase ativa de desenvolvimento e explora arquiteturas desacopladas para lidar com a complexidade da Gateway e das interações do Discord.


Como o projeto funciona?

A arquitetura do Disc.NET gira em torno de três pilares principais:

Event Dispatcher & Handlers

O coração do sistema é o EventDispatcher. Ele recebe os payloads brutos da Gateway e os roteia para Handlers específicos.

  • Cada Handler é responsável por um tipo de evento (ex: InteractionCreate, MessageCreate).
  • Isso permite que a lógica de processamento seja isolada e fácil de estender sem sujar o código principal da conexão.

Comandos via Attributes

Chega de if/else gigantes para validar comandos. O Disc.NET utiliza Attributes para mapear classes de comando automaticamente:

  • Basta decorar sua classe com [SlashCommand] ou [PrefixCommand].
  • O sistema de registro faz o scan das classes e vincula a execução ao trigger correto via Reflection.

Service Container (DI)

Utilizamos um DiscNetContainer interno para gerenciar dependências. Isso garante que seus comandos tenham acesso fácil a serviços de configuração, clientes de API e bancos de dados de forma nativa.


Exemplo de Uso (Experimental)

// 1. Defina o comando usando atributos
[SlashCommand("ping", InteractionType.ApplicationCommand, "Testa a latência")]
public class PingCommand : ISlashCommand
{
    public async Task RunAsync(InteractionContext context, CancellationToken ct = default)
    {
       await context.Response.SendMessageAsync(new Message()
       {
           Content = "Hello World!",
       });
    }
}

// 2. Inicialize o AppBuilder
var app = new AppBuilder()
    .AddConfiguration(new AppConfiguration("TOKEN") { ApplicationId = 123 })
    .Build();

await app.RunAsync();

📦 Módulos Atuais

  • Disc.NET.Client.SDK: Abstração da API REST.
  • Disc.NET.Commands: Motor de execução de comandos e contextos.
  • Disc.NET.Shared: Utilitários de serialização e extensões de sistema.
  • Disc.NET.Components: Builders para botões, selects e embeds.

⚠️ Aviso: Por ser um projeto experimental, mudanças drásticas na API podem ocorrer a qualquer momento.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Disc.NET.Commands:

Package Downloads
Disc.NET

Disc.NET libraries for building Discord applications with .NET.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2 134 4/5/2026
1.0.1 140 4/5/2026