A documentação pode ser encontrada em https://docs.discordnet.dev/index.html
Discord.Net é um projeto de código aberto licenciado pelo MIT e seu desenvolvimento foi possível inteiramente por voluntários. Se você quiser apoiar nossos esforços financeiramente, considere:
Nossas compilações estáveis disponíveis no NuGet por meio do metapacote Discord.Net:
Os componentes individuais também podem ser instalados no NuGet:
Webhooks
Serviços de comando de texto e interação.
Cobertura completa da API.
O núcleo da API. Implementa apenas entidades e funcionalidades barebones.
Nightlies são builds do Discord.NET que ainda estão em fase experimental e não foram lançadas.
Eles estão disponíveis em 2 fontes diferentes:
Observação
Os pacotes GitHub requerem autenticação. Você pode encontrar mais informações aqui.
O .NET Core 1.1 não oferece suporte a WebSockets no Win7 e versões anteriores. Esse problema foi corrigido desde o lançamento do .NET Core 2.1. Recomenda-se direcionar o .NET Core 2.1 ou superior para o seu projeto se desejar executar seu bot em plataformas legadas; alternativamente, você pode optar por instalar o pacote Discord.Net.Providers.WS4Net.
Discord suporta apenas TLS1.2+ em todos os seus sites, incluindo a API, desde 19/07/2022. O .NET Framework não oferece suporte a este protocolo por padrão. Se você depende do .NET Framework, sugere-se atualizar seu projeto para net6-windows
. Esta estrutura oferece suporte à maioria dos recursos somente Windows introduzidos pelo fx e resolve erros de inicialização devido à incompatibilidade do protocolo TLS.
Esta biblioteca geralmente segue o Versionamento Semântico. Os pacotes são publicados no formato de versão MAJOR.MINOR.PATCH
.
Um incremento do componente PATCH sempre indica que uma alteração apenas interna foi feita, geralmente uma correção de bug. Essas alterações não afetarão a API voltada ao público de forma alguma e são sempre garantidas como compatíveis com versões anteriores e futuras de sua base de código, quaisquer dependências pré-compiladas de sua base de código.
Um incremento do componente MINOR indica que alguma adição foi feita à biblioteca e esta adição não é compatível com versões anteriores. No entanto, Discord.Net não garante compatibilidade futura em adições menores. Em outras palavras, permitimos um conjunto limitado de alterações significativas em uma versão secundária.
Devido à natureza da API Discord, muitas vezes precisaremos adicionar uma propriedade a uma entidade para oferecer suporte às alterações mais recentes da API. Discord.Net fornece interfaces como método de consumo de entidades; e, como tal, introduzir um novo campo em uma entidade é tecnicamente uma mudança radical. As alterações na versão principal geralmente indicam alguma mudança importante na biblioteca e, como tal, hesitamos em alterar a versão principal para cada adição menor à biblioteca. Para chegar a um acordo, decidimos que as interfaces devem ser tratadas apenas como consumíveis e que seus aplicativos normalmente não devem implementar interfaces.
Para aplicações onde as interfaces são implementadas, como em simulações de teste, pedimos desculpas por esta inconsistência com o SemVer.
Embora nunca iremos quebrar a API (fora das alterações de interface) em compilações menores, ocasionalmente precisaremos quebrar a ABI, introduzindo parâmetros em um método para corresponder às alterações upstream com o Discord. Dessa forma, um incremento de versão secundária pode exigir que você recompile seu código, e dependências, como complementos, também podem precisar ser recompiladas e republicadas na versão mais recente. Quando uma alteração significativa no binário for feita, a alteração será anotada nas notas de lançamento.
Um incremento do componente MAJOR indica que foram feitas alterações significativas na biblioteca; os consumidores devem verificar as notas de lançamento para determinar quais alterações precisam ser feitas.
Ramificação de lançamento seguindo Major.Minor. Após o lançamento, os patches serão enviados para essas ramificações. Novas versões do NuGet serão marcadas nessas ramificações.
Ramo de desenvolvimento, disponível no MyGet. Este branch é o alvo das solicitações pull.
Ramos voltados para Dev, adicionando novos recursos. Sinta-se à vontade para explorar esses ramos e dar feedback quando necessário.
Geralmente tem como alvo Dev. Essas ramificações são usadas para atualizar a documentação com novos recursos ou retrabalho de recursos existentes.