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
- 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.
- 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.
- 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:
- Chame
searchpara 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 amainouextensions. - Chame
find_symbolpara tipos exatos, membros, nomes qualificados e sobrecargas. Use o filtro de corpus para desambiguar tipos que existem em ambos os repositórios. - Chame
fetchcom o IDsymbol:oudocument:retornado antes de confiar na documentação completa de um resultado. - Chame
get_sourceapenas 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
.Resultou.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.DispatchModeuseSequentialHandlers. - Interações de comandos de barra têm prazos de resposta e regras de resposta/acompanhamento definidas pelo Discord.