Releases: AudioBridge-team/AudioBridge
v1.3.6
Added
-
<db/scripts/init_triggers> Созданы триггеры для упрощения работы с БД (автоматизации некоторых действий)
-
<db/database> Создана функция
insert_message
для добавления информации о сообщении в таблицуvk_messages
-
<db/database> Создана функция
_insert_user
для добавления нового пользователя в таблицуusers
-
<db/database> Создана функция
set_error_code
для установки ошибки обработки сообщения в таблицеvk_messages
-
<db/database> Создана функция
set_user_token
для добавления токена пользователя в таблицуvk_messages
-
<db/database> Создана функция
select_user_data
для получения карточки пользователя из таблицыusers
-
<db/database> Создана функция
set_user_setting
для установки определённой настройки пользователя в таблицуuser_serttings
-
<db/database> Создана функция
select_user_settings
для получения настроек пользователя из таблицыuser_serttings
-
<db/database> Создана функция
init_convert_request
для добавления основных полей задачи пользователя в таблицеconvert_requests
-
<db/database> Создана функция
complete_convert_request
для добавления оставшихся полей в таблицеconvert_requests
-
<db/database> Создана функция
insert_audio
для добавления информации о загруженной песни в таблицуvk_audio
-
<db/database> Создана функция
select_original_audio
для получения информации о загруженной ранее песни из таблицыvk_audio
-
<db/dbEnums> Созданы перечисления для удобства работы с базой данных
-
<commands/user> Добавлена команда
/skip
для пропуска загрузки текущего трека -
<commands/user> Добавлена команда
/set_agent (true/false)
для включения/выключения режима агента (загрузка песни через собсвтенный аккаунт) -
<keyboards/user> Добавлена кнопка
Авторизоваться в боте
-
<bot/userAuthServer> Создан класс
UserAuthHandler
для поднятия веб-сервера, необходимого для получения токена пользователя (т.е. его авторизации) -
<utils/errorHandler/*> Создан модуль для классификации, масштабирования и управления ошибками, и дальнейшей их записи в базу данных
-
<bot/vkBotWorker> Добавлена возможность переименовывания ранее загруженных песен
-
<bot/vkBotWorker> Добавлено сохранение сообщений в базу данных
-
<bot/audioWorker> Добавлена возможность "быстрой обработки" песен: отправка уже готовой песни, если ранее её кто-то загружал через бота
-
<bot/audioWorker> Добавлена возможность загрузки песни через аккаунт самого пользователя (это необходимо как для удоства, так и для обхода лимита загружаемых песен в день)
Changed
- <db/scripts/init_tables> Изменены типы и ограничения некоторых столбцов
- <bot_settings> Период обновления сообщения со статусом загрузки песни уменьшен до 1 минуты
- <bot/vkBotWorker> Изменена логика обработки нового сообщения
- <bot/queueHandler> В функцию
ack_request
из <bot/audioWorker> перенесена работа над обновлением текущей очереди запросов пользователя
Deprecated
- <bot/vkBotWorker> Изменение YouTube Shorts запроса под обычный, т.к. в обновленной версии модуля
yt-dlp
доабвлена их поддержка - <config/bot> Удаление показателя YouTube Shorts
Removed
- <config/bot> Удалён класс показателей запросов
RequestIndex
- <keyboards/keyboard> Удалён параметр
executable
из-за его ненадобности
Fixed
- <bot/vkBotWorker> Исправлена обработка прикреплённых видео. Благодаря возможности авторизации теперь их можно обрабатывать
v1.3.5
Added
- <.dockerignore> Добавлен облегчения образа
Docker
- <.pylintrc> Включён
pylint
для повышения стилизации и читаемости кода - <bot/vkBotWorker> Добавлено игнорирование ответов пользователей на сообщения в чате для возможности общения с модератором, оставления заметок
- <commands/init> Добавлена инициализция списка всех команд
- <commands/command> Добавлены структуры, необходимые для описания пользовательских команд
- <commands/init> Добавлена команда
/help
, выводящая список доступных команд для конкретного пользователя - <bot/vkBotWorker> Добавлена поддержка "клавиатурных" команд (кнопки в меню)
- <keyboards/*> Добавлены клавиатуры
Changed
- Изменена логика развёртывания
Docker
для повышения скорости - <config/*> Конфиг разбит на файлы
- <config/handler> Добавлен объект
WorkerTask
для передачи параметров запроса пользователя - <audiobridge/*> Код адаптирован под использование новой структуры конфига
- <db/scripts/init_tables> Обновлены структуры таблиц
- <bot/vkBotWorker> Переработана обработка команд
- Переименован в
utils
- <commands/user> Переписан под новую динамическую структуру
Deprecated
- Удалён
betterconf
Removed
- <common/vars> Удалён из-за перехода на новую структуру конфига
- <common/config> Удалён из-за перехода на новую структуру конфига
Fixed
- <tools/loggerSetup> Исправлена ошибка "застывшего" времени в логах (теперь время обновляется)
- Во всех файлах настроены единые отступы (space)
v1.3.4
Added
- <tools/customErrors> Создан единый список ошибок
yt-dlp
и их ключей, для улучшения читаемости кода - <tools/yt_dlpShell> Создан для обработки сообщений
yt-dlp
- <bot/audioWorker> Добавлена функция
_analyzeTitle
для извлечения из заголовка видео названия работы (без хештегов и авторов) - <bot/audioWorker> Добавлена функция
_getAudioBitrate
для получения битрейта видео, необходимо для оценки приблизительного размера mp3 файла
Changed
- Изменена модель
Workflow
над проектом, из-за недочётов предыдущей - Указывание версии бота перенесено из параметров запуска в конфигурационный файл
bot_settings.json
- Устаревший модуль
youtube-dl
заменён на активно развивающийся форкyt-dlp
- Название класса и файла
AudioTools
заменено наPlaylistHandler
из-за полной специализации на соответствующих задачах - <bot/playlistHandler> Получение элементов плейлиста было переложено на
yt-dlp
- Передача запроса теперь осуществляется в форме
dict
- <bot/vkBotWorker> Изменён размер максимально запроса (с 5 до 4)
Removed
- <main> Удалён
ArgParser
из-за ненадобности - <bot/playlistHandler> Удалён метод
_getPlaylistElements
, т.к. его функцию заменил форкyt-dlp
- <bot/audioWorker> Удалены функции
_toSeconds
,_getAudioInfo
,_getAudioUrl
из-за того, что их заменил функционалyt-dlp
- Удален модуль
youtube_dl
Fixed
- <bot/queueHandler> Исправлена работа
v1.3.3
Fixed
- Исправлена обработка ошибки
HTTP error 404
для модуляffmpeg
- Доработаны рекурсивные функции
v1.3.2
Added:
- Добавлена предварительная оценка размера веса аудио перед скачиванием путём
F (bits) = t (sec) * bitrate (Kb / sec)
- Заданы коды кастомных ошибок (
CustomError
) для обработки преднамеренной остановки работы потока (AudioWorker
) - Добавлено ограничение по минимальному размеру загружаемой аудиозаписи (файл должен быть не менее 50 Кб), иначе Вк ограничит загрузку
- Автокоррекция второго аргумента при загрузке плейлиста (удаление пробелов в строке)
Changed:
- Поменян инструмент загрузки аудио (
youtube-dl
→ffmpeg
) в целях оптимизации процесса и извлечения аудио-отрезка - Циклы
while()
, ранее используемые для выполнения консольной команды, заменены на рекурсивные функции для улучшения читаемости кода - Вынесены простые функции в ламбда-функции для улучшения читаемости кода
- Изменены содержания сообщений с процессом выполнения запроса
- Обновление прогресса скачивания трека теперь адекватное: оно происходит по временному таймеру в 1 минуту, а изначально период обновления рассчитывался по числу загрузки блоков песни
Fixed
- Исправлена ошибка в функции
getSeconds()
при обработке запросов с временем среза
v1.3.1
Added
- Добавлен новый конфигурационный файл
bot_settings.json
, в котором прописаны настройки обработки запросов пользователя и конвертации видео - Создан новый класс
vkGroupManager.py
для управления группой вк - Добавлена функция конвертации
CHANGELOG.md
вwiki
формат для вк группы
Changed
- Полностью переработана структура программы: каждый класс был вынесен в соответствующий ему модуль. Такое решение структуризирует ведение проекта и упрощает его дальнейшее развитие
- Обработка конфига программы переписана с использованием библиотеки
betterconf
. Это сделано для более удобной работы с конфигурационными файлами.env
иbot_settings.json
- Прикреплённые YouTube видео стали обрабатываться как запрос, не содержащий ссылку, следовательно, будет вызываться ошибка об отсутствии в запросе ссылки
v1.3.0
Fixed
- Обработка Вк видео
v1.2.9
Added
- Отсеивание запросов без ссылки
- Обработка YouTube Shorts
Changed
- Обработка сообщений от пользователя
v1.2.8
Changed
- Структура проекта для улучшения отказоустойчивости
v1.2.7
Added
- Специальная группа ВК для разработчиков (https://vk.com/saveaudio_dev)
Changed
- Модель ведения проекта для улучшения эффективности разработки
Removed
- Возможность запуска в debug режиме
- Переключение между версиями