Disc.NET.Client.SDK 1.0.2

dotnet add package Disc.NET.Client.SDK --version 1.0.2
                    
NuGet\Install-Package Disc.NET.Client.SDK -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.Client.SDK" 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.Client.SDK" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="Disc.NET.Client.SDK" />
                    
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.Client.SDK --version 1.0.2
                    
#r "nuget: Disc.NET.Client.SDK, 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.Client.SDK@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.Client.SDK&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=Disc.NET.Client.SDK&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.
  • net8.0

    • No dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Disc.NET.Client.SDK:

Package Downloads
Disc.NET.Commands

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

Disc.NET

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

GenericBot

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2 155 4/5/2026
1.0.1 162 4/5/2026