CommunityEscrita e Ediçãogithub.com

Aiko-IT-Systems/DisCatSharp

Sua biblioteca para criar apps no Discord em C#, com foco em sempre fornecer acesso aos recursos mais recentes do Discord.

O que é DisCatSharp?

DisCatSharp é uma biblioteca em C# para construção de aplicações no Discord, que prioriza o acesso contínuo às features mais recentes da plataforma. O skill instrui agentes de IA a responderem com base na versão do DisCatSharp consumida pelo projeto, utilizando a documentação MCP pública quando disponível, e evitando inferir APIs de bibliotecas concorrentes como DSharpPlus ou Discord.Net. Ele define um fluxo de trabalho para estabelecer o contexto do projeto (inspecionando arquivos de projeto e metadados de pacotes), recuperar evidências (usando busca, símbolos e fetch sobre os corpora principal e de extensões) e produzir respostas precisas com exemplos de código compiláveis, incluindo intenções, configuração, injeção de dependência e tratamento de exceções. O skill também alerta sobre armadilhas comuns, como confundir APIs de bibliotecas diferentes, estados parciais de cache e a necessidade de intents específicas, garantindo que o agente forneça código assíncrono e seguro sem introduzir bloqueios. Suporta sistemas Debian/Ubuntu, Docker e Fedora/RHEL com instruções de instalação via apt, pacotes .deb e Dockerfile.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add Aiko-IT-Systems/DisCatSharp

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Usar DisCatSharp

Responda com base na versão do DisCatSharp consumida pelo projeto e em evidências verificadas do DisCatSharp. O MCP de documentação pública cobre a biblioteca principal e as extensões oficiais do DisCatSharp; prefira-o quando disponível. Não infira APIs do DSharpPlus, Discord.Net, Pycord ou outra biblioteca do Discord.

Estabelecer o contexto do projeto

  1. Inspecione o projeto local quando disponível. Determine:
    • As versões dos pacotes DisCatSharp instaladas a partir de arquivos de projeto, arquivos de pacote central, arquivos de travamento ou ativos restaurados.
    • O framework alvo e o modelo de hospedagem.
    • Quais módulos do DisCatSharp já estão referenciados.
  2. Se nenhum projeto estiver disponível, pergunte pela versão do DisCatSharp apenas quando a resposta depender materialmente dela. Caso contrário, indique para qual versão atual da API a resposta se destina.
  3. Trate o código-fonte do projeto ativo e os metadados dos pacotes instalados como autoritativos para aquele projeto. O MCP público normalmente descreve a versão mais recente da documentação e pode ser mais nova que os pacotes do usuário.

Leia references/modules.md ao escolher pacotes ou extensões.

Recuperar evidências

Quando o MCP de documentação do DisCatSharp estiver conectado, use a menor sequência útil:

  1. Chame search para uma funcionalidade ampla, fluxo de trabalho ou pergunta conceitual. Pesquise em ambos os corpora, a menos que o projeto ou a pergunta claramente diga respeito apenas a main ou extensions.
  2. Chame find_symbol para tipos exatos, membros, nomes qualificados e sobrecargas. Use o filtro de corpus para desambiguar tipos que existem em ambos os repositórios.
  3. Chame fetch com o ID symbol: ou document: retornado antes de confiar na documentação completa de um resultado.
  4. Chame get_source apenas para um caminho relativo ao repositório e intervalo limitado retornado por metadados de símbolo indexados, e apenas quando o comportamento documentado for insuficiente.

Preserve IDs e URLs específicos de sobrecarga. Um resultado de busca é um candidato, não documentação completa. Não invente um UID, ID de documento, caminho de origem, assinatura ou sobrecarga.

Quando o MCP não estiver disponível, mas o acesso HTTP for possível, consulte https://docs.dcs.aitsys.dev/_search?q=<consulta>. Adicione corpus=main ou corpus=extensions quando o repositório proprietário for conhecido; omita para pesquisar em ambos. Use um nome de módulo exato de references/modules.md com module=<pacote> apenas quando for útil restringir ainda mais.

Para comportamento da plataforma Discord — payloads, permissões, intents, eventos de Gateway, limites de taxa, semântica REST ou regras de comandos de aplicação — consulte o MCP oficial de documentação do Discord em https://docs.discord.com/mcp quando estiver disponível. Separe claramente o contrato do Discord da representação do DisCatSharp.

Leia references/evidence-and-fallbacks.md quando o MCP não estiver disponível, os resultados entrarem em conflito com a versão instalada ou uma consulta não retornar correspondência.

Produzir uma resposta

  • Use nomes, assinaturas, pacotes e namespaces exatos do DisCatSharp suportados pelas evidências.
  • Forneça um exemplo mínimo compilável quando código for solicitado. Inclua intents relevantes, configuração, registro de extensão, injeção de dependência e detalhes de descarte/ciclo de vida.
  • Explique qual modelo de evento ou comando está sendo usado. Não misture casualmente ApplicationCommands e CommandsNext.
  • Preserve o comportamento assíncrono e o cancelamento. Não introduza chamadas bloqueantes .Result ou .Wait().
  • Mencione requisitos de versão, status experimental, configuração necessária do Discord e impacto de migração quando relevante.
  • Link para a página mais útil do DisCatSharp ou sobrecarga exata. Evite despejar resultados de busca sem resolvê-los.
  • Se as evidências permanecerem incompletas, diga o que foi verificado, o que foi inferido e o que o usuário deve verificar. Nunca esconda incerteza por trás de código aparentemente plausível.

Armadilhas comuns

  • APIs semelhantes em outras bibliotecas do Discord não são intercambiáveis.
  • Um tipo existir na documentação atual não prova que ele existe em um pacote instalado mais antigo.
  • O estado do cache pode ser parcial e eventos podem exigir intents.
  • A ordenação FIFO dos buckets REST do Discord e a ordenação dos manipuladores de usuário do Gateway são preocupações separadas.
  • A mutação do cache do Gateway permanece ordenada, enquanto os manipuladores de usuário são concorrentes por padrão, a menos que GatewayAdvancedConfiguration.DispatchMode use SequentialHandlers.
  • Interações de comandos de barra têm prazos de resposta e regras de resposta/acompanhamento definidas pelo Discord.

Habilidades Relacionadas