Об этом проекте

telegram-slskd-local-bot — ориентированный на Docker Telegram-бот для автоматизации получения музыки и организации фонотеки. Он работает рядом с экземпляром slskd и использует Spotify для метаданных релиза, включая исполнителя, название, альбом и длительность, после чего просит slskd выполнить поиск соответствующих FLAC-файлов в Soulseek. Результаты поиска ранжируются по совпадению длительности, битовой глубине, частоте дискретизации, доступным слотам отдачи, скорости и имени файла. Бот может исключать концертные, ремикс-версии или караоке-версии, если только эти слова не являются частью запрошенного названия. Перед сохранением он отправляет выбранный трек в Telegram-чат для проверки. Файлы больше ограничения Telegram в 50 МБ могут отправляться как Opus-превью полной песни. Проект включает проверку lossless-качества путём анализа спектра FLAC и пометки возможных перекодировок из MP3 или поддельных lossless-файлов. Сохранённые треки именуются в формате «Artist - Title.flac», снабжаются обложкой из Spotify и помещаются в настроенный каталог фонотеки. Бот может предупреждать, если похожие файлы уже существуют. Поддерживаемые сценарии чата включают импорт плейлистов или альбомов Spotify, индивидуальную проверку треков, автоматическое сохранение лучшего совпадения, повтор неудавшихся передач, выбор следующего результата, отслеживание прогресса загрузки и проверку статуса импорта. Доступ ограничен Telegram user ID из белого списка; если белый список пуст, бот отклоняет всех пользователей. Заброшенные загрузки могут очищаться через настраиваемый интервал без прерывания активных передач. Для развертывания требуются работающий экземпляр slskd с API-ключом, учётные данные Spotify Developer, токен Telegram-бота, а также доступные для записи каталоги загрузок и музыки. Описанный быстрый старт использует Docker Compose, контейнер запускается с UID 1000; предоставленный образ предназначен для amd64, а не arm64. Документация охватывает настройку, использование, механизм оценки, устранение неполадок и разработку. Проект распространяется под лицензией GPL-3.0-or-later.