프로젝트 소개
telegram-slskd-local-bot은 음악 수집과 라이브러리 정리를 자동화하기 위한 Docker 지향 텔레그램 봇입니다. slskd 인스턴스 옆에서 동작하며 Spotify를 사용해 아티스트, 제목, 앨범, 길이를 포함한 릴리스 메타데이터를 가져온 다음, slskd에 요청해 Soulseek에서 일치하는 FLAC 파일을 검색합니다.
검색 결과는 길이 일치, 비트 심도, 샘플 레이트, 사용 가능한 업로드 슬롯, 속도, 파일 이름을 기준으로 순위가 매겨집니다. 봇은 요청한 제목의 일부가 아닌 한 라이브, 리믹스, 노래방 버전을 피할 수 있습니다. 저장하기 전에 선택한 트랙을 검토를 위해 텔레그램 채팅으로 보냅니다. 텔레그램의 50MB 제한보다 큰 파일은 전체 곡의 Opus 미리 보기로 보낼 수 있습니다.
이 프로젝트는 FLAC 스펙트럼을 검사해 무손실 여부를 확인하고, 가능한 MP3 트랜스코드나 가짜 무손실 파일에 라벨을 붙이는 기능을 포함합니다. 저장된 트랙은 "Artist - Title.flac" 형식으로 이름이 지정되고, Spotify 커버 아트로 태그가 지정되며, 설정된 음악 라이브러리 디렉터리에 배치됩니다. 유사한 파일이 이미 존재할 경우 경고할 수 있습니다.
지원되는 채팅 워크플로에는 Spotify 재생목록 또는 앨범 가져오기, 트랙 개별 검토, 최적 일치 항목 자동 저장, 실패한 전송 재시도, 다음 결과 시도, 다운로드 진행 상황 모니터링, 가져오기 상태 확인이 포함됩니다. 접근은 허용 목록에 있는 텔레그램 사용자 ID로 제한되며, 허용 목록이 비어 있으면 봇은 모든 사용자를 거부합니다. 중단된 다운로드는 활성 전송을 방해하지 않으면서 설정 가능한 간격 후에 정리할 수 있습니다.
배포에는 API 키가 있는 실행 중인 slskd 인스턴스, Spotify Developer 자격 증명, 텔레그램 봇 토큰, 쓰기 가능한 다운로드 및 음악 디렉터리가 필요합니다. 문서화된 빠른 시작은 Docker Compose를 사용하며, 컨테이너는 UID 1000으로 실행됩니다. 제공된 이미지는 arm64가 아니라 amd64를 대상으로 합니다. 문서는 구성, 사용법, 점수 산정 동작, 문제 해결, 개발을 다룹니다. 이 프로젝트는 GPL-3.0-or-later에 따라 배포됩니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.