DisCatSharp 사용하기
소비 프로젝트의 DisCatSharp 버전과 확인된 DisCatSharp 증거를 바탕으로 답변합니다. 공개 문서 MCP는 메인 라이브러리와 공식 DisCatSharp.Extensions를 다루며, 가능하면 이를 우선 사용하세요. DSharpPlus, Discord.Net, Pycord 또는 다른 Discord 라이브러리에서 API를 추론하지 마세요.
프로젝트 컨텍스트 확인
- 로컬 프로젝트가 있다면 검사합니다. 다음을 확인합니다:
- 프로젝트 파일, 중앙 패키지 파일, 잠금 파일 또는 복원된 자산에서 설치된 DisCatSharp 패키지 버전
- 대상 프레임워크 및 호스팅 모델
- 이미 참조된 DisCatSharp 모듈
- 프로젝트가 없으면, 답변이 버전에 크게 의존하는 경우에만 DisCatSharp 버전을 묻습니다. 그렇지 않으면 답변이 대상으로 하는 현재 API 버전을 명시합니다.
- 라이브 프로젝트 소스와 설치된 패키지 메타데이터를 해당 프로젝트에 대한 권위 있는 정보로 취급합니다. 공개 MCP는 일반적으로 최신 문서 빌드를 설명하며, 사용자의 패키지보다 최신일 수 있습니다.
패키지 또는 확장을 선택할 때 references/modules.md를 참조하세요.
증거 검색
DisCatSharp 문서 MCP가 연결된 경우, 가장 작은 유용한 순서를 사용합니다:
search를 호출하여 광범위한 기능, 워크플로 또는 개념적 질문을 합니다. 프로젝트 또는 질문이 명확하게main또는extensions에만 관련되지 않는 한, 두 코퍼스를 모두 검색합니다.find_symbol을 호출하여 정확한 유형, 멤버, 정규화된 이름 및 오버로드를 찾습니다. 코퍼스 필터를 사용하여 두 리포지토리에 모두 존재하는 유형을 명확히 구분합니다.- 결과의 전체 문서에 의존하기 전에 반환된
symbol:또는document:ID로fetch를 호출합니다. get_source는 인덱싱된 심볼 메타데이터에서 반환된 리포지토리-상대 경로 및 경계 범위에 대해서만 호출하며, 문서화된 동작이 충분하지 않은 경우에만 호출합니다.
오버로드별 ID와 URL을 유지합니다. 검색 결과는 후보일 뿐, 완전한 문서가 아닙니다. UID, 문서 ID, 소스 경로, 시그니처 또는 오버로드를 조작하지 마세요.
MCP를 사용할 수 없지만 HTTP 접근이 가능한 경우, https://docs.dcs.aitsys.dev/_search?q=<query>를 쿼리합니다. 소유 리포지토리가 알려진 경우 corpus=main 또는 corpus=extensions를 추가하고, 생략하면 둘 다 검색합니다. 추가로 범위를 좁히는 것이 유용한 경우에만 references/modules.md의 정확한 모듈 이름을 module=<package>와 함께 사용합니다.
Discord 플랫폼 동작(페이로드, 권한, 의도, 게이트웨이 이벤트, 속도 제한, REST 의미론 또는 애플리케이션 명령 규칙)의 경우, 사용 가능할 때 공식 Discord 문서 MCP(https://docs.discord.com/mcp)를 참조하세요. Discord의 계약과 DisCatSharp의 표현을 명확히 구분하세요.
MCP를 사용할 수 없거나, 결과가 설치된 버전과 충돌하거나, 조회 결과가 없는 경우 references/evidence-and-fallbacks.md를 참조하세요.
답변 생성
- 증거에서 지원하는 정확한 DisCatSharp 이름, 시그니처, 패키지 및 네임스페이스를 사용하세요.
- 코드가 요청된 경우 최소한의 컴파일 가능한 예제를 제공하세요. 관련 의도, 구성, 확장 등록, 의존성 주입 및 폐기/수명 주기 세부 사항을 포함하세요.
- 사용 중인 이벤트 또는 명령 모델을 설명하세요. ApplicationCommands와 CommandsNext를 무분별하게 혼합하지 마세요.
- 비동기 동작과 취소를 유지하세요. 차단하는
.Result또는.Wait()호출을 도입하지 마세요. - 관련된 경우 버전 요구 사항, 실험적 상태, 필요한 Discord 구성 및 마이그레이션 영향을 언급하세요.
- 가장 유용한 DisCatSharp 페이지 또는 정확한 오버로드에 링크하세요. 검색 결과를 확인하지 않고 덤프하지 마세요.
- 증거가 불완전한 경우, 확인된 내용, 추론된 내용 및 사용자가 확인해야 할 사항을 설명하세요. 그럴듯한 코드 뒤에 불확실성을 숨기지 마세요.
일반적인 함정
- 다른 Discord 라이브러리의 유사한 API는 상호 교환할 수 없습니다.
- 현재 문서에 유형이 존재한다고 해서 이전에 설치된 패키지에 존재한다는 증거는 아닙니다.
- 캐시 상태는 부분적일 수 있으며, 이벤트에는 의도가 필요할 수 있습니다.
- Discord REST 버킷 FIFO와 게이트웨이 사용자-핸들러 순서는 별개의 문제입니다.
- 게이트웨이 캐시 변이는 순서가 유지되지만, 사용자 핸들러는
GatewayAdvancedConfiguration.DispatchMode가SequentialHandlers를 사용하지 않는 한 기본적으로 동시에 실행됩니다. - 슬래시 명령 상호작용에는 Discord에서 정의한 응답 마감 시간과 응답/후속 규칙이 있습니다.