Skip to content

v0.5.1

Choose a tag to compare

@AndreyKilanov AndreyKilanov released this 26 Feb 00:33
· 104 commits to main since this release
532eece

Описание релиза 0.5.1

Этот релиз включает значительные улучшения функционала музыкального плейера Discord, глобальный рефакторинг архитектуры бота, переход на современный менеджер зависимостей uv и масштабное расширение тестового покрытия.

🚀 Новые функции

  • Музыкальный плейер Discord:
    • Реализованы режимы зацикливания (одиночный трек и вся очередь) с визуальной индикацией в UI.
    • Добавлена полная поддержка YouTube плейлистов.
    • Внедрена пагинация для очереди воспроизведения и результатов поиска.
    • Добавлено интерактивное меню выбора трека прямо из поиска.
    • Улучшен дизайн эмбедов: добавлены миниатюры (thumbnails) и оптимизировано управление.
    • Автоматическая очистка очереди и возможность перезапуска плейлиста.
  • Интеграция и Администрирование:
    • Настройка фильтрации сообщений: бот может отвечать всем или только на упоминания.
    • Возможность деактивации соединений LLM напрямую из веб-интерфейса.
  • Веб-интерфейс (UI/UX):
    • Новые визуальные эффекты: "ripple" и "pixel explosion" при кликах.
    • Плавные переходы между страницами с использованием прелоадера.
    • Кастомные курсоры и обновленная типографика (IBM Plex Mono).

🛠 Рефакторинг и оптимизация

  • Архитектура:
    • Переход от "монолитных" файлов к модульной структуре пакетов (views, player, bot, commands).
    • Централизация всех UI-констант и лимитов.
  • Зависимости:
    • Полный переход на uv. Удален requirements.txt, зависимости теперь управляются через pyproject.toml и uv.lock.
  • Аудио:
    • Оптимизированы параметры FFmpeg для нормализации звука и предотвращения проблем со скоростью воспроизведения.
  • Веб-часть:
    • Переход на HTML-шаблоны и классовое управление состоянием для динамических элементов админки.

🐛 Исправления

  • Исправлена ошибка HTTPException 400 при большом количестве результатов поиска.
  • Улучшена обработка ошибок при извлечении метаданных и работе с приватными видео.
  • Устранена проблема "фантомных" голосовых сессий после перезагрузки бота.
  • Реализовано авто-удаление технических статусных сообщений через 10 секунд для чистоты чата.
  • Исправлены пути к ассетам на сервисных страницах ошибок (404, 500, 502, 503, 504).
  • Обеспечена совместимость с Python 3.10+ через TypeAlias.
  • Оптимизирован цикл обновления сообщения (снижение нагрузки при сохранении актуальности прогресс-бара).
  • Улучшена логика переключения иконок и стилей кнопки Play/Pause.

📝 Документация и Конфигурация

  • Обновлены README.md и DISCORD_BOT.md с учетом всех новых возможностей.
  • Актуализированы инструкции по развертыванию с использованием uv.

🧪 Тестирование

  • Добавлено более 100 новых юнит-тестов, покрывающих:
    • Логику музыкального плейера и очереди.
    • Интерактивные Views в Discord.
    • API сервисы и веб-админку.
    • Редкие пограничные случаи при работе с голосовыми каналами.