프로젝트 소개
본 플러그인은 AstrBot 프레임워크 전용으로 설계된 《명일방주: 엔드필드》 DPS 스피드런 랭킹 ZMDLogs 서드파티 클라이언트로, 플레이어에게 채팅 내 데이터 조회 및 시각화 서비스를 제공하는 것을 목표로 합니다.
### 핵심 기능
- **랭킹 조회**: 전체 공개 랭킹 및 상위 3위, 또는 지정 랭킹의 상위 N위를 확인할 수 있습니다. 캐릭터, 속성, 직업별 필터링 및 rDPS 기준 순위를 지원합니다. 팀 구성 출현율, 일반적인 팀 구성 및 메인 딜러 분포 분석을 제공합니다.
- **전투 기록 및 비교**: 전투 기여도, DPS 곡선, BUFF 커버리지, 스킬 시전 리듬, 개인별 장비 및 피해 출처를 상세히 표시합니다. 위기 계약 조건 표시, 스킬 통계, 전체 페이지 스킬 축(스킬 배치) 및 동일 보스의 두 전투 기록 나란히 비교를 지원합니다.
- **캐릭터 및 계정**: 특정 캐릭터가 포함된 팀의 각 랭킹 최고 순위, 캐릭터 챔피언 랭킹, 6성 캐릭터 DPS 분포(박스 플롯)를 조회할 수 있습니다. 공개 계정의 각 보스 최고 기록, 플레이어 순위 및 관심 계정의 순위 추세를 지원합니다.
- **소셜 및 연동**: 웹사이트에서 생성된 연동 코드로 안전하게 연동(1인당 최대 5개 계정)하며, 그룹 내 연동 멤버의 그룹 랭킹 순위를 확인할 수 있습니다. 관심 계정이나 랭킹을 팔로우하면, 관심 대상의 순위가 하락하거나 랭킹 상위 3위에 새 기록이 나타날 때 플러그인이 그룹 내에서 자동으로 알림을 보냅니다.
### 상호작용 및 비주얼
- **엔드필드 스타일 롱 이미지**: 모든 조회 결과는 1280px 너비의 단일 PNG 이미지로 렌더링되며, 비주얼 스타일이 통일됩니다. 내장 Chromium을 사용할 수 없으면 AstrBot 기본 제공 텍스트-이미지 서비스로 대체됩니다.
- **자연어 대규모 언어 모델 도구**: 대규모 모델을 연결하고 함수 호출을 활성화하면 그룹원이 자연어로 직접 질문할 수 있습니다. 플러그인은 4개의 전용 도구(랭킹, 전투 기록, 캐릭터, 계정)를 제공하며, 모델이 의도를 자동으로 분석해 차트와 텍스트 해설을 생성합니다.
- **QQ 공식 봇 최적화**: QQ 공식 봇 어댑터에 대해 후보 목록 버튼, 결과 이미지 직접 링크 및 원클릭 이미지 생성(콜백 모드) 기능을 제공하여 공식 봇에서의 조작 편의성을 크게 향상시킵니다.
### 기술 세부 사항 및 설정
- **실행 메커니즘**: 시작 후 메모리에 전체 랭킹의 순위 인덱스(약 5MB)를 구축하고, 백그라운드에서 주기적으로 재읽기하여 데이터 신선도를 유지하며, 안정 상태에서 분당 약 3개의 업스트림 요청만 발생합니다.
- **의존성**: Python 3.11+ 기반으로 개발되었으며, HTML 렌더링을 위해 Playwright에 의존하고 Chromium을 수동 설치해야 합니다.
- **설정 가능성**: API 주소, 캐시 TTL, 렌더링 타임아웃, 퍼지 매칭 임계값, 순위 알림 간격, QQ 공식 봇 버튼 및 콜백 스위치 등 다양한 설정 항목을 제공하여 사용자가 실제 배포 환경에 맞게 조정할 수 있습니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.