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": "你已更新頻率到 {0},深度到 {1}",
"rotation": "你已更新旋轉 Hz 到 {0}",
"distortion": "你已啟用失真。",
"lowpass": "你已更新低通濾波器到 {0}",
"channelmix": "你已更新聲道混音。左左: {0},右右: {1},左右: {2},右左: {3}",
"nightcore": "你已加入夜蒼聲音效果。",
"8d": "你已加入 8D 聲音效果。",
"vaporwave": "你已加入 vaporwave 聲音效果。",
"cleareffect": "聲音效果已清除!",
"addEffect": "套用音效`{0}`濾鏡。",
"clearEffect": "聲音效果已清除!",
"FilterTagAlreadyInUse": "此聲音效果已在使用中!請使用 /cleareffect <Tag> 移除它。",
"playlistViewTitle": "📜 所有 {0} 的播放清單",
@@ -105,6 +98,7 @@
"playlistAdded": "❤️ 已將 **{0}** 添加到 {1} 的播放清單中 [`{2}`]!",
"playerDropdown": "選擇要跳轉到的音軌...",
"playerFilter": "選擇要套用的篩選器...",
"buttonBack": "返回",
"buttonPause": "暫停",
@@ -187,5 +181,10 @@
"voicelinkOutofList": "請提供有效的歌曲索引!",
"voicelinkDuplicateTrack": "抱歉,此歌曲已在隊列中。",
"deocdeError": "解碼文件時出現問題!"
"deocdeError": "解碼文件時出現問題!",
"invalidStartTime": "無效的開始時間! 時間必須在 `00:00` 和 `{0}` 之間。",
"invalidEndTime": "無效的結束時間! 時間必須在 `00:00` 和 `{0}` 之間。",
"invalidTimeOrder": "結束時間不能小於或等於開始時間。",
"SetStageAnnounceTemplate": "完成!從現在開始,像您現在的語音狀態將根據您的模板命名。您應該在幾秒鐘內看到它更新。"
}

View File

@@ -23,25 +23,18 @@
"toggleControllerMsg": "Sie haben jetzt `{0}` Nachrichten vom Musik-Controller.",
"settingsMenu": "Servereinstellungen | {0}",
"settingsTitle": "❤️ Grundlegende Informationen:",
"settingsValue": "Präfix: `{0}`\nSprache: `{1}`\nMusik-Controller aktivieren: `{2}`\nDJ-Rolle: {3}\nAbstimmungsumgehung: `{4}`\nRund um die Uhr: `{5}`\nStandardvolumen: `{6} %`\nSpielzeit: `{7}`",
"settingsValue": "```Präfix: {0}`\nSprache: {1}\nMusik-Controller: {2}\nDJ-Rolle: @{3}\nAbstimmungsumgehung: {4}\nRund um die Uhr: {5}\nStandardvolumen: {6}%\nSpielzeit: {7}```",
"settingsTitle2": "🔗 Warteschlangeninformationen:",
"settingsValue2": "Warteschlangenmodus: `{0}`\nMax Lied: `{1}`\nDoppelte Spur zulassen: `{2}`",
"settingsValue2": "```Warteschlangenmodus: {0}\nMax Lied: {1}\nDoppelte Spur zulassen: {2}```",
"settingsTitle3": "🎤 Sprachstatusinfo:",
"settingsPermTitle": "✨ Berechtigungen:",
"settingsPermValue": "{0} Administrator\n{1} Gilde verwalten\n{2} Kanal verwalten\n{3} Manage_Messages",
"settingsPermValue": "```{0} Administrator\n{1} Gilde verwalten\n{2} Kanal verwalten\n{3} Manage_Messages```",
"pingTitle1": "Bot-Info:",
"pingTitle2": "Spielerinfo:",
"pingfield1": "```Shard-ID: {0}/{1}\nShard-Latenz: {2:.3f} s {3}\nRegion: {4}```",
"pingfield2": "```Knoten: {0} - {1:.3f}s\nSpieler: {2}\nSprachregion: {3}```",
"karaoke": "Sie setzen den Pegel auf **{0}**, monoLevel auf **{1}**, filterBand auf **{2}** und filterWidth auf **{3}**.",
"tremolo&vibrato": "Sie stellen die Frequenz auf **{0}** und die Tiefe auf **{1}** ein.",
"rotation": "Sie setzen die RotationHz auf **{0}**.",
"distortion": "Sie haben die Verzerrung aktiviert.",
"lowpass": "Sie setzen den LowPass auf **{0}**.",
"channelmix": "Sie haben den channelMix aktualisiert. Von links nach links: **{0}**, von rechts nach rechts: **{1}**, von links nach rechts: **{2}**, von rechts nach links: ** {3}**.",
"nightcore": "Sie haben Nightcore-Soundeffekte hinzugefügt.",
"8d": "Sie haben 8D-Soundeffekte hinzugefügt.",
"vaporwave": "Sie haben Dampfwellen-Soundeffekte hinzugefügt.",
"cleareffect": "Die Soundeffekte wurden gelöscht!",
"addEffect": "Wende den Effekt `{0}` Filter an.",
"clearEffect": "Die Soundeffekte wurden gelöscht!",
"FilterTagAlreadyInUse": "Diese Soundeffekte sind bereits im Einsatz! Bitte verwenden Sie /cleareffect <Tag>, um sie zu entfernen.",
"playlistViewTitle": "📜 Alle Playlists von {0}",
@@ -105,6 +98,7 @@
"playlistAdded": "❤️ Hinzugefügt **{0}** in {1}'s Wiedergabeliste [`{2}`]!",
"playerDropdown": "Wählen Sie einen Song aus, um zu überspringen ...",
"playerFilter": "Wählen Sie einen Filter aus, um ihn anzuwenden ...",
"buttonBack": "Zurück",
"buttonPause": "Pause",
@@ -187,5 +181,10 @@
"voicelinkOutofList": "Bitte gib einen gültigen Track-Index an!",
"voicelinkDuplicateTrack": "Entschuldigung, dieser Track ist bereits in der Warteschlange.",
"deocdeError": "Beim Dekodieren der Datei ist etwas schief gelaufen!"
"deocdeError": "Beim Dekodieren der Datei ist etwas schief gelaufen!",
"invalidStartTime": "Ungültiger Startzeit! Die Zeit muss innerhalb von `00:00` und `{0}` liegen.",
"invalidEndTime": "Ungültiger Endzeit! Die Zeit muss innerhalb von `00:00` und `{0}` liegen.",
"invalidTimeOrder": "Der Endzeit darf nicht kleiner oder gleich dem Startzeit sein.",
"SetStageAnnounceTemplate": "Fertig! Ab sofort wird der Sprachstatus wie der, in dem Sie sich gerade befinden, gemäß Ihrer Vorlage benannt. Sie sollten in wenigen Sekunden eine Aktualisierung sehen."
}

View File

@@ -23,25 +23,18 @@
"toggleControllerMsg": "Now you have `{0}` messages from the music controller.",
"settingsMenu": "Server Settings | {0}",
"settingsTitle": "❤️ Basic Info:",
"settingsValue": "Prefix: `{0}`\nLanguage: `{1}`\nEnable Music Controller: `{2}`\nDJ Role: {3}\nVote Bypass: `{4}`\n24/7: `{5}`\nDefault Volume: `{6}%`\nPlay Time: `{7}`",
"settingsValue": "```Prefix: {0}\nLanguage: {1}\nMusic Controller: {2}\nDJ Role: @{3}\nVote Bypass: {4}\n24/7: {5}\nDefault Volume: {6}%\nPlay Time: {7}```",
"settingsTitle2": "🔗 Queue info:",
"settingsValue2": "Queue Mode: `{0}`\nMax Song: `{1}`\nAllow Duplicate Track: `{2}`",
"settingsValue2": "```Queue Mode: {0}\nMax Song: {1}\nDuplicate Track: {2}```",
"settingsTitle3": "🎤 Voice Status Info:",
"settingsPermTitle": "✨ Permissions:",
"settingsPermValue": "{0} Administrator\n{1} Manage_Guild\n{2} Manage_Channel\n{3} Manage_Messages",
"settingsPermValue": "```{0} Administrator\n{1} Manage_Guild\n{2} Manage_Channel\n{3} Manage_Messages```",
"pingTitle1": "Bot Info:",
"pingTitle2": "Player Info:",
"pingfield1": "```Shard ID: {0}/{1}\nShard Latency: {2:.3f}s {3}\nRegion: {4}```",
"pingfield2": "```Node: {0} - {1:.3f}s\nPlayers: {2}\nVoice Region: {3}```",
"karaoke": "You have updated the level to **{0}**, monoLevel to **{1}**, filterBand to **{2}** and filterWidth to **{3}**",
"tremolo&vibrato": "You updated the frequency to **{0}** and depth to **{1}**",
"rotation": "You have updated the rotationHz to **{0}**",
"distortion": "You have enabled distortion.",
"lowpass": "You have updated the lowPass to **{0}**",
"channelmix": "You have updated the channelMix. Left-to-left: **{0}**, Right-to-right: **{1}**, Left-to-right: **{2}**, Right-to-left: **{3}**",
"nightcore": "You have added nightcore sound effects.",
"8d": "You have added 8D sound effects.",
"vaporwave": "You have added vaporwave sound effects.",
"cleareffect": "The sound effects have been cleared!",
"addEffect": "Apply the effect `{0}` filter.",
"clearEffect": "The sound effects have been cleared!",
"FilterTagAlreadyInUse": "This sound effects has already in use! Please use /cleareffect <Tag> to remove it.",
"playlistViewTitle": "📜 All {0}'s Playlists",
@@ -105,6 +98,7 @@
"playlistAdded": "❤️ Added **{0}** into {1}'s playlist [`{2}`]!",
"playerDropdown": "Select a song to skip to ...",
"playerFilter": "Select a filter to apply ...",
"buttonBack": "Back",
"buttonPause": "Pause",
@@ -187,5 +181,10 @@
"voicelinkOutofList": "Please provide a valid track index!",
"voicelinkDuplicateTrack": "Sorry, this track is already in the queue.",
"deocdeError": "Something went wrong while decoding the file!"
"deocdeError": "Something went wrong while decoding the file!",
"invalidStartTime": "Invalid start time, it must be between `00:00` and `{0}`",
"invalidEndTime": "Invalid end time, it must be between `00:00` and `{0}`",
"invalidTimeOrder": "End time cannot be less than or equal to start time",
"SetStageAnnounceTemplate": "Done! From now on, voice status like the one you're in now will be named according to your template. You should see it update in a few seconds."
}

View File

@@ -23,25 +23,18 @@
"toggleControllerMsg": "Ahora tiene `{0}` mensajes del controlador de música.",
"settingsMenu": "Configuración del servidor | {0}",
"settingsTitle": "❤️ Información básica:",
"settingsValue": "Prefijo: `{0}`\nIdioma: `{1}`\nHabilitar controlador de música: `{2}`\nRol de DJ: {3}\nBypass de votación: `{4}`\n24/7: `{5}`\nVolumen predeterminado: `{6}%`\nTiempo de reproducción: `{7}`",
"settingsValue": "```Prefijo: {0}\nIdioma: {1}\nHabilitar controlador de música: {2}\nRol de DJ: @{3}\nBypass de votación: {4}\n24/7: {5}\nVolumen predeterminado: {6}%\nTiempo de reproducción: {7}```",
"settingsTitle2": "🔗 Información de la cola:",
"settingsValue2": "Modo de cola: `{0}`\nMáximo de canciones: `{1}`\nPermitir pistas duplicadas: `{2}`",
"settingsValue2": "```Modo de cola: {0}\nMáximo de canciones: {1}\nPermitir pistas duplicadas: {2}```",
"settingsTitle3": "🎤 Información del estado de voz:",
"settingsPermTitle": "✨ Permisos:",
"settingsPermValue": "{0} Administrador\n{1} Administrar servidor\n{2} Administrar canal\n{3} Administrar mensajes",
"settingsPermValue": "```{0} Administrador\n{1} Administrar servidor\n{2} Administrar canal\n{3} Administrar mensajes```",
"pingTitle1": "Información del bot:",
"pingTitle2": "Información del reproductor:",
"pingfield1": "```ID de fragmento: {0}/{1}\nLatencia de fragmento: {2:.3f}s {3}\nRegión: {4}```",
"pingfield2": "```Nodo: {0} - {1:.3f}s\nReproductores: {2}\nRegión de voz: {3}```",
"karaoke": "Ha actualizado el nivel a **{0}**, monoLevel a **{1}**, filterBand a **{2}** y filterWidth a **{3}**.",
"tremolo&vibrato": "Ha actualizado la frecuencia a **{0}** y la profundidad a **{1}**.",
"rotation": "Ha actualizado la rotación Hz a **{0}**.",
"distortion": "Ha habilitado la distorsión.",
"lowpass": "Ha actualizado el paso bajo a **{0}**",
"channelmix": "Ha actualizado la mezcla de canales. De izquierda a izquierda: **{0}**, de derecha a derecha: **{1}**, de izquierda a derecha: **{2}**, de derecha a izquierda: **{3}**.",
"nightcore": "Ha agregado efectos de sonido nightcore.",
"8d": "Ha agregado efectos de sonido 8D.",
"vaporwave": "Ha agregado efectos de sonido vaporwave.",
"cleareffect": "¡Los efectos de sonido se han borrado!",
"addEffect": "plica el efecto `{0}` filtro.",
"clearEffect": "¡Los efectos de sonido se han borrado!",
"FilterTagAlreadyInUse": "¡Este efecto de sonido ya está en uso! Utilice /cleareffect <Tag> para eliminarlo.",
"playlistViewTitle": "📜 Todas las listas de reproducción de {0}",
@@ -105,6 +98,7 @@
"playlistAdded": "❤️ Agregado **{0}** a la lista de reproducción de {1} [`{2}`]!",
"playerDropdown": "Seleccione una canción para saltar a ...",
"playerFilter": "Seleccione un filtro para aplicar ...",
"buttonBack": "Atrás",
"buttonPause": "Pausa",
@@ -187,5 +181,10 @@
"voicelinkOutofList": "¡Proporcione un índice de pista válido!",
"voicelinkDuplicateTrack": "Lo siento, esta canción ya está en la cola.",
"deocdeError": "¡Algo salió mal al decodificar el archivo!"
"deocdeError": "¡Algo salió mal al decodificar el archivo!",
"invalidStartTime": "Tiempo de inicio inválido! El tiempo debe estar entre `00:00` y `{0}`.",
"invalidEndTime": "Tiempo de finalización inválido! El tiempo debe estar entre `00:00` y `{0}`.",
"invalidTimeOrder": "El tiempo final no puede ser menor o igual que el tiempo de inicio.",
"SetStageAnnounceTemplate": "¡Hecho! A partir de ahora, el estado de voz como el que tienes ahora se nombrará según tu plantilla. Deberías verlo actualizarse en unos segundos."
}

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": "周波数を**{0}**、深度を**{1}**に更新しました",
"rotation": "回転Hzを**{0}**に更新しました。",
"distortion": "歪みを有効にしました。",
"lowpass": "lowPassを**{0}**に更新しました。",
"channelmix": "チャンネルミックスを更新しました。左から左へ:**{0}**、右から右へ:**{1}**、左から右へ:**{2}**、右から左へ:**{3}**",
"nightcore": "ナイトコアサウンドエフェクトを追加しました。",
"8d": "8Dサウンドエフェクトを追加しました。",
"vaporwave": "ヴェイパーウェーブサウンドエフェクトを追加しました。",
"cleareffect": "効果音がクリアされました!",
"addEffect": "`{0}` フィルターを適用します。",
"clearEffect": "効果音がクリアされました",
"FilterTagAlreadyInUse": "このサウンドエフェクトはすでに使用されています!削除するには/cleareffect <Tag>を使用してください。",
"playlistViewTitle": "📜 {0}のすべてのプレイリスト",
@@ -105,6 +98,7 @@
"playlistAdded": "❤️ **{0}**を{1}のプレイリスト[`{2}`]に追加しました!",
"playerDropdown": "スキップする曲を選択してください...",
"playerFilter": "適用するフィルターを選択してください...",
"buttonBack": "戻る",
"buttonPause": "一時停止",
@@ -187,5 +181,10 @@
"voicelinkOutofList": "有効なトラックインデックスを指定してください!",
"voicelinkDuplicateTrack": "申し訳ありませんが、このトラックは既にキューに存在します。",
"deocdeError": "ファイルのデコード中に問題が発生しました!"
"deocdeError": "ファイルのデコード中に問題が発生しました!",
"invalidStartTime": "無効な開始時間!時間は `00:00` と `{0}` の間に設定する必要があります。",
"invalidEndTime": "無効な終了時間!時間は `00:00` と `{0}` の間に設定する必要があります。",
"invalidTimeOrder": "終了時間は開始時間より大きくない必要があります。",
"SetStageAnnounceTemplate": "完了!これからは、今いるボイスステータスがあなたのテンプレートに従って名前が付けられます。数秒以内に更新されるのを見ることができるはずです。"
}

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": "주파수를 **{0}**으로, 깊이를 **{1}**으로 업데이트했습니다.",
"rotation": "회전 주파수를 **{0}**으로 업데이트했습니다.",
"distortion": "왜곡이 활성화되었습니다.",
"lowpass": "LowPass를 **{0}**으로 업데이트했습니다.",
"channelmix": "채널 믹스를 업데이트했습니다. 왼쪽-왼쪽: **{0}**, 오른쪽-오른쪽: **{1}**, 왼쪽-오른쪽: **{2}**, 오른쪽-왼쪽: **{3}**",
"nightcore": "나이트코어 효과를 추가했습니다.",
"8d": "8D 효과를 추가했습니다.",
"vaporwave": "Vaporwave 효과를 추가했습니다.",
"cleareffect": "효과가 삭제되었습니다!",
"addEffect": "`{0}` 필터를 적용하세요.",
"clearEffect": "효과가 삭제되었습니다!",
"FilterTagAlreadyInUse": "이 필터는 이미 사용 중입니다! 삭제하려면 /cleareffect <Tag>를 사용하십시오.",
"playlistViewTitle": "📜 {0}의 모든 재생 목록",
@@ -105,6 +98,7 @@
"playlistAdded": "❤️ **{0}**을(를) {1}의 재생목록 [`{2}`] 에 추가했습니다!",
"playerDropdown": "건너뛰기 할 노래를 선택하세요...",
"playerFilter": "적용할 필터를 선택하세요...",
"buttonBack": "이전",
"buttonPause": "일시정지",
@@ -187,5 +181,10 @@
"voicelinkOutofList": "유효한 트랙 인덱스를 제공해주세요!",
"voicelinkDuplicateTrack": "죄송합니다. 이 트랙은 이미 큐에 있습니다.",
"deocdeError": "파일 디코딩 중 문제가 발생했습니다!"
"deocdeError": "파일 디코딩 중 문제가 발생했습니다!",
"invalidStartTime": "효력 없는 시작 시간! 시간은 `00:00` 과 `{0}` 사이에 설정해야 합니다.",
"invalidEndTime": "효력 없는 종료 시간! 시간은 `00:00` 과 `{0}` 사이에 설정해야 합니다.",
"invalidTimeOrder": "종료 시간은 시작 시간보다 클수 있어야 합니다.",
"SetStageAnnounceTemplate": "완료! 이제부터 지금 있는 음성 상태는 귀하의 템플릿에 따라 이름이 지정됩니다. 몇 초 후에 업데이트되는 것을 볼 수 있을 것입니다."
}

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": "Готово! С этого момента статус голоса, как тот, в котором вы находитесь сейчас, будет называться в соответствии с вашим шаблоном. Вы должны увидеть обновление через несколько секунд."
}

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}",
@@ -105,6 +98,7 @@
"playlistAdded": "❤️ Додано **{0}** до плейлиста користувача {1} [`{2}`]!",
"playerDropdown": "Виберіть пісню для переходу ...",
"playerFilter": "Виберіть фільтр для застосування ...",
"buttonBack": "Назад",
"buttonPause": "Призупинити",
@@ -186,5 +180,10 @@
"voicelinkOutofList": "Будь ласка, надайте дійсний індекс треку!",
"voicelinkDuplicateTrack": "Вибачте, цей трек уже є в черзі.",
"deocdeError": "Щось пішло не так під час декодування файлу!"
}
"deocdeError": "Щось пішло не так під час декодування файлу!",
"invalidStartTime": "Недійснений час початку! Час має бути в межах `00:00` та `{0}`.",
"invalidEndTime": "Недійснений час закінчення! Час має бути в межах `00:00` та `{0}`.",
"invalidTimeOrder": "Час закінчення не може бути меншим або рівним часу початку.",
"SetStageAnnounceTemplate": "Готово! Відтепер статус голосу, як той, в якому ви зараз перебуваєте, буде називатися відповідно до вашого шаблону. Ви повинні побачити оновлення через кілька секунд."
}