Vocard v2.6.9 Update: A lot new features, bug fixes, and code clean-up (#34)

* Update docker-compose.yml

No dotenv file needed. All environment values are now defined in docker-compose

* Update RU.json

* Updated docker-compose

* Update README.md

* Resolved issue where playback didn’t start after user joined channel 247

* Added logging system

* Updated logging system

* Update player.py

* Added 24/7 required intent

* Update main.py

* Added logs folder

* Updated logging system

* Updated logging system

* Added some typehint

* Removed error_log

* Renamed a valuable

* Removed unnecessary value

* Fixed some bugs

* Added bot status settings

* Added autocomplete in playtop

* Added a new emoji in Loop button

* Optimized code

* Update requirements.txt

* Fixed autoplay with empty queue

This commit addresses the issue where autoplay was being activated even when the history queue had no tracks. The problem has been resolved to ensure smooth user experience

* Enhanced Loop Control Button Functionality

* Updated the loop button in controller

* Fixed activity update

Resolved the issue where activity updates were not reflected when the value remained the same.

* Added sync function in debug view

* Optimized code

* Added version in the debug

* Added nodes panel in debug view

* Merged .env into settings.json

* Rewritten ipc_client

* Separated the dashboard from the project

* Removed some necessary requirements

* Remove support for replit

* Update README.md

* Update settings Example.json

* Added get_recommendations into node class

* Saved log file when updating

* Rewritten some method in ipc_client

* Written swap and remove method in queue

* Added remove_track and swap_track method in player

* Update methods.py

* Added secure protocol in ipc client

* Fixed some bugs

* Added some method in ipc cilent

* Update methods.py

* Update methods.py

* Added playlist method

* Optimized Spotify client code

* Added Category class in Spotify client

* Added settings method in ipc client

* Fixed some bugs

* Send track requester_id in initPlayer

* Fixed some bugs

* Fixed some bugs

* Optimized some code

* Dump discord.py

* Added start and end position for each track

* Update methods.py

* Fixed a bug

* Fixed some bugs

* Fixed IPC client creation issue

* Rewrote filters

* Fixed some bugs

* Added filter event in ipc method

* Added filter selector in music controller

* Added inbox method

* Optimized some code

* Updated zh-TW local_lang

* Fixed some bugs

* Delete supervisord.conf

* Fixed some bugs

* Updated wording in IPC client

* Update pool.py

* Fixed no song suggestions when spotify_client is None

* Fixed connection problem from the dashboard

* Fixed some bugs

* Added voice status (#33)

* Updated the placeholder name for clarity

* Added voice status

* Dump bot version

* Added global template for voice status

* Added new placeholder

* Updated settings view

* Updated version tag

* Improved codes

* Fixed some bugs

* Supported clear queue endpoint in ipc

* Update methods.py

* Update README.md

* Remove PLACEHOLDERS.MD

---------

Co-authored-by: Azarath7 <158289825+Azarath7@users.noreply.github.com>
This commit is contained in:
Choco
2024-09-11 11:51:51 +08:00
committed by GitHub
parent 6f926ed6d2
commit 8a663a939b
61 changed files with 2470 additions and 4371 deletions

View File

@@ -23,25 +23,18 @@
"toggleControllerMsg": "Теперь у вас `{0}` сообщения от контроллера музыки.",
"settingsMenu": "Настройки сервера | {0}",
"settingsTitle": "❤️ Основная информация:",
"settingsValue": "Префикс: `{0}`\nЯзык: `{1}`\nВключить контроллер музыки: `{2}`\nDJ роль: {3}\nОбход голосования: `{4}`\n24/7: `{5}`\nГромкость по умолчанию: `{6}%`\nВремя проигрывания: `{7}`",
"settingsValue": "```Префикс: {0}\nЯзык: {1}\nВключить контроллер музыки: {2}\nDJ роль: @{3}\nОбход голосования: {4}\n24/7: {5}\nГромкость по умолчанию: {6}%\nВремя проигрывания: {7}```",
"settingsTitle2": "🔗 Информация об очереди:",
"settingsValue2": "Режим очереди: `{0}`\nМаксимальное количество песен: `{1}`\nРазрешить дублирование треков: `{2}`",
"settingsValue2": "```Режим очереди: {0}\nМаксимальное количество песен: {1}\nРазрешить дублирование треков: {2}```",
"settingsTitle3": "🎤 Информация о состоянии голоса:",
"settingsPermTitle": "✨ Права:",
"settingsPermValue": "{0} Администратор\n{1} Управление_Сервером\n{2} Управление_Каналом\n{3} Управление_Сообщениями",
"settingsPermValue": "```{0} Администратор\n{1} Управление_Сервером\n{2} Управление_Каналом\n{3} Управление_Сообщениями```",
"pingTitle1": "Информация о боте:",
"pingTitle2": "Информация о плеере:",
"pingfield1": "```ID Шарда: {0}/{1}\nЗадержка Шарда: {2:.3f}s {3}\nРегион: {4}```",
"pingfield2": "```Сервис: {0} - {1:.3f}s\nИгроки: {2}\nРегион Голоса: {3}```",
"karaoke": "Вы обновили уровень на **{0}**, моноуровень на **{1}**, фильтрующая полоса на **{2}** и ширина фильтра на **{3}**",
"tremolo&vibrato": "Вы обновили значение эффекта tremolo на **{0}** и vibrato на **{1}**",
"rotation": "Вы обновили значение эффекта rotation на **{0}**",
"distortion": "Вы включили эффект rotation.",
"lowpass": "Вы обновили значение эффекта lowpass на **{0}**",
"channelmix": "Вы обновили ChannelMix. Левый-на-левый: **{0}**, Правый-на-правый: **{1}**, Левый-на-правый: **{2}**, Правый-на-левый: **{3}**",
"nightcore": "Вы включили эффект Nightcore.",
"8d": "Вы включили эффект 8D.",
"vaporwave": "Вы включили эффект Vaporwave.",
"cleareffect": "Звуковые эффекты были очищены!",
"addEffect": "Примените эффект `{0}` фильтр.",
"clearEffect": "Звуковые эффекты были очищены!",
"FilterTagAlreadyInUse": "Этот звуковой эффект уже используется! Пожалуйста, используйте /cleareffect <Тег>, чтобы удалить его.",
"playlistViewTitle": "📜 Все плейлисты пользователя {0}",
@@ -61,7 +54,7 @@
"playlistBelongs": "Извините! Этот плейлист принадлежит <@{0}>.",
"playlistShare": "Извините! Этим плейлистом уже поделились с {0}.",
"playlistSent": "Извините! Вы уже отправили приглашение ранее.",
"noPlaylistAcc": "{0} не создал учетную запись плейлиста.",
"noPlaylistAcc": "Пользователь `{0}` не создал учетную запись плейлиста.",
"overPlaylistCreation": "Вы не можете создавать больше `{0}` плейлистов!",
"playlistExists": "Плейлист [`{0}`] уже существует.",
"playlistNotInvaildUrl": "Пожалуйста, введите действительную ссылку или публичную плейлист-ссылку на Spotify или YouTube.",
@@ -70,8 +63,8 @@
"playlistLimitTrack": "Вы достигли лимита! Вы можете добавить только `{0}` треков в свой плейлист.",
"playlistPlaylistLink": "Вам не разрешено использовать ссылку на плейлист.",
"playlistStream": "Вам не разрешено добавлять потоковые видео в свой плейлист.",
"playlistPositionNotFound": "Не удается найти позицию `{0}` в вашем плейлисте [`{1}`]!",
"playlistRemoved": "👋 Удалено **{0}** из плейлиста {1} [`{2}`].",
"playlistPositionNotFound": "Не получилось найти позицию `{0}` в вашем плейлисте [`{1}`]!",
"playlistRemoved": "👋 Удален **{0}** из плейлиста {1} [`{2}`].",
"playlistClear": "Вы успешно очистили свой плейлист [`{0}`].",
"playlistView": "Просмотр плейлистов",
"playlistViewDesc": "```Имя | ID: {0} | {1}\nВсего треков: {2}\nВладелец: {3}\nТип: {4}\n```",
@@ -83,9 +76,9 @@
"inboxNoMsg": "В вашем почтовом ящике нет сообщений.",
"invitationSent": "Приглашение отправлено {0}.",
"notInChannel": "{0}, для использования голосовых команд вы должны находиться в {1}. Пожалуйста, перезайдите, если вы уже в голосе!",
"notInChannel": "{0}, для использования голосовых команд вы должны находиться в {1}. Пожалуйста, перезайдите, если вы уже находитесь в голосовом канале!",
"noTrackPlaying": "Сейчас нет играющих треков.",
"noTrackFound": "Треки с таким запросом не найдены! Пожалуйста, укажите действительную ссылку.",
"noTrackFound": "Треки по такому запросу не найдены! Пожалуйста, укажите действительную ссылку.",
"noLinkSupport": "Команда поиска не поддерживает ссылки!",
"voted": "Вы проголосовали!",
"missingPerms_pos": "Только DJ или администраторы могут изменять позицию.",
@@ -105,6 +98,7 @@
"playlistAdded": "❤️ Добавлен **{0}** в плейлист пользователя {1} [`{2}`]!",
"playerDropdown": "Выберите трек для перехода ...",
"playerFilter": "Выберите фильтр для применения ...",
"buttonBack": "Назад",
"buttonPause": "Пауза",
@@ -120,7 +114,7 @@
"buttonShuffle": "Перемешать",
"buttonForward": "+10сек",
"buttonRewind": "Назад",
"nowplayingDesc": "**Сейчас играет:**\n```{0}```",
"nowplayingField": "Следующее:",
"nowplayingLink": "Слушать на {0}",
@@ -129,7 +123,7 @@
"live": "В ЭФИРЕ",
"playlistLoad": "🎶 Добавлен плейлист **{0}** с `{1}` треками в очередь.",
"trackLoad": "Добавлен **[{0}](<{1}>)** от **{2}** (`{3}`) для начала проигрывания.\n",
"trackLoad": "Добавлен **[{0}](<{1}>)** от **{2}** (`{3}`) в очередь.\n",
"trackLoad_pos": "Добавлен **[{0}](<{1}>)** от **{2}** (`{3}`) в очередь на позицию **{4}**\n",
"searchTitle": "Поиск: {0}",
"searchDesc": "➥ Платформа: {0} **{1}**\n➥ Результаты: **{2}**\n\n{3}",
@@ -144,13 +138,13 @@
"viewFooter": "Страница: {0}/{1} | Общая продолжительность: {2}",
"pauseError": "Плеер уже на паузе.",
"pauseVote": "Пользователь `{0}` проголосовал за паузу трека. [{1}/{2}]",
"pauseVote": "Пользователь `{0}` проголосовал за паузу плеера. [{1}/{2}]",
"paused": "Пользователь `{0}` поставил плеер на паузу.",
"resumeError": "Плеер не на паузе.",
"resumeVote": "Пользователь `{0}` проголосовал за продолжение трека. [{1}/{2}]",
"resumed": "Пользователь `{0}` убрал плеер с паузы.",
"shuffleError": "Недостаточно треков для перемешивания",
"shuffleVote": "Пользователь `{0}` проголосовал за перемешивание очереди. [{1}/{2}]",
"shuffleVote": "Пользователь `{0}` проголосовал за перемешивание треков. [{1}/{2}]",
"shuffled": "Очередь перемешана.",
"skipError": "Нет треков для пропуска.",
"skipVote": "Пользователь `{0}` проголосовал за пропуск трека. [{1}/{2}]",
@@ -160,7 +154,7 @@
"backed": "Пользователь `{0}` вернулся к предыдущему треку.",
"leaveVote": "Пользователь `{0}` проголосовал за остановку плеера. [{1}/{2}]",
"left": "`{0}` остановил плеер.",
"left": "Пользователь `{0}` остановил плеер.",
"seek": "Установить плеер на **{0}**",
"repeat": "Режим повтора `{0}`",
@@ -186,5 +180,10 @@
"voicelinkOutofList": "Пожалуйста, предоставьте действительный индекс трека!",
"voicelinkDuplicateTrack": "Извините, этот трек уже есть в очереди.",
"deocdeError": "Что-то пошло не так при декодировании файла!"
}
"deocdeError": "Что-то пошло не так при декодировании файла!",
"invalidStartTime": "Hевозможное время начала! Вход времени должен быть внутри `00:00` и `{0}`.",
"invalidEndTime": "Невозможное время конца! Вход времени должен быть внутри `00:00` и `{0}`.",
"invalidTimeOrder": "Время конца не может быть меньше или равно времени начала.",
"SetStageAnnounceTemplate": "Готово! С этого момента статус голоса, как тот, в котором вы находитесь сейчас, будет называться в соответствии с вашим шаблоном. Вы должны увидеть обновление через несколько секунд."
}