* 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>
189 lines
16 KiB
JSON
189 lines
16 KiB
JSON
{
|
||
"unknownException": "⚠️ Что-то пошло не так при выполнении команды! Пожалуйста, попробуйте позже или присоединитесь к нашему серверу Discord для получения дополнительной поддержки.",
|
||
"enabled": "вкл",
|
||
"disabled": "выкл",
|
||
|
||
"nodeReconnect": "Пожалуйста, попробуйте чуть позже!",
|
||
"noChannel": "Нет голосового канала для подключения. Пожалуйста, укажите или присоединитесь к одному.",
|
||
"alreadyConnected": "Уже подключен к голосовому каналу.",
|
||
"noPermission": "Извините! У меня нет разрешения на подключение или разговор в вашем голосовом канале.",
|
||
"noPlaySource": "Не получилось найти рабочие источники!",
|
||
"noPlayer": "На этом сервере не найдено ни одного активного плеера.",
|
||
"notVote": "Эта команда требует вашего голоса! Введите `/vote` для получения дополнительной информации.",
|
||
"languageNotFound": "Языковой пакет не найден! Пожалуйста, выберите существующий языковой пакет.",
|
||
"changedLanguage": "Язык успешно изменен на `{0}`.",
|
||
"setPrefix": "Готово! Мой префикс на вашем сервере теперь `{0}`. Попробуйте запустить `{1}ping`, чтобы проверить его.",
|
||
"setDJ": "Установить роль DJ {0}.",
|
||
"setqueue": "Установить режим очереди на `{0}`.",
|
||
"247": "Теперь у вас `{0}` режим 24/7.",
|
||
"bypassVote": "Теперь у вас `{0}` система голосования.",
|
||
"setVolume": "Установить громкость на `{0}`%",
|
||
"togglecontroller": "Теперь у вас `{0}` контроллер музыки.",
|
||
"toggleDuplicateTrack": "Теперь у вас `{0}` предотвращение дублирования трека в очереди.",
|
||
"toggleControllerMsg": "Теперь у вас `{0}` сообщения от контроллера музыки.",
|
||
"settingsMenu": "Настройки сервера | {0}",
|
||
"settingsTitle": "❤️ Основная информация:",
|
||
"settingsValue": "```Префикс: {0}\nЯзык: {1}\nВключить контроллер музыки: {2}\nDJ роль: @{3}\nОбход голосования: {4}\n24/7: {5}\nГромкость по умолчанию: {6}%\nВремя проигрывания: {7}```",
|
||
"settingsTitle2": "🔗 Информация об очереди:",
|
||
"settingsValue2": "```Режим очереди: {0}\nМаксимальное количество песен: {1}\nРазрешить дублирование треков: {2}```",
|
||
"settingsTitle3": "🎤 Информация о состоянии голоса:",
|
||
"settingsPermTitle": "✨ Права:",
|
||
"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}```",
|
||
"addEffect": "Примените эффект `{0}` фильтр.",
|
||
"clearEffect": "Звуковые эффекты были очищены!",
|
||
"FilterTagAlreadyInUse": "Этот звуковой эффект уже используется! Пожалуйста, используйте /cleareffect <Тег>, чтобы удалить его.",
|
||
|
||
"playlistViewTitle": "📜 Все плейлисты пользователя {0}",
|
||
"playlistViewHeaders": "ID:,Время:,Название:,Треки:",
|
||
"playlistFooter": "Введите /playlist play [плейлист], чтобы добавить плейлист в очередь.",
|
||
"playlistNotFound": "Плейлист [`{0}`] не найден. Введите /playlist view, чтобы посмотреть все ваши плейлисты.",
|
||
"playlistNotAccess": "Извините! У вас нет доступа к этому плейлисту!",
|
||
"playlistNoTrack": "Извините! В плейлисте [`{0}`] нет треков.",
|
||
"playlistNotAllow": "Эта команда не разрешена для общих плейлистов.",
|
||
"playlistPlay": "Добавлен плейлист [`{0}`] с `{1}` треками в очередь.",
|
||
"playlistOverText": "Извините! Имя плейлиста не может превышать 10 символов.",
|
||
"playlistSameName": "Извините! Это имя не может совпадать с вашим новым именем.",
|
||
"playlistDeleteError": "Вы не можете удалить плейлист по умолчанию.",
|
||
"playlistRemove": "Вы удалили плейлист [`{0}`].",
|
||
"playlistSendErrorPlayer": "Извините! Вы не можете отправить приглашение самому себе.",
|
||
"playlistSendErrorBot": "Извините! Вы не можете отправить приглашение боту.",
|
||
"playlistBelongs": "Извините! Этот плейлист принадлежит <@{0}>.",
|
||
"playlistShare": "Извините! Этим плейлистом уже поделились с {0}.",
|
||
"playlistSent": "Извините! Вы уже отправили приглашение ранее.",
|
||
"noPlaylistAcc": "Пользователь `{0}` не создал учетную запись плейлиста.",
|
||
"overPlaylistCreation": "Вы не можете создавать больше `{0}` плейлистов!",
|
||
"playlistExists": "Плейлист [`{0}`] уже существует.",
|
||
"playlistNotInvaildUrl": "Пожалуйста, введите действительную ссылку или публичную плейлист-ссылку на Spotify или YouTube.",
|
||
"playlistCreated": "Вы создали плейлист `{0}`. Введите /playlist view для получения дополнительной информации.",
|
||
"playlistRenamed": "Вы переименовали `{0}` в `{1}`.",
|
||
"playlistLimitTrack": "Вы достигли лимита! Вы можете добавить только `{0}` треков в свой плейлист.",
|
||
"playlistPlaylistLink": "Вам не разрешено использовать ссылку на плейлист.",
|
||
"playlistStream": "Вам не разрешено добавлять потоковые видео в свой плейлист.",
|
||
"playlistPositionNotFound": "Не получилось найти позицию `{0}` в вашем плейлисте [`{1}`]!",
|
||
"playlistRemoved": "👋 Удален **{0}** из плейлиста {1} [`{2}`].",
|
||
"playlistClear": "Вы успешно очистили свой плейлист [`{0}`].",
|
||
"playlistView": "Просмотр плейлистов",
|
||
"playlistViewDesc": "```Имя | ID: {0} | {1}\nВсего треков: {2}\nВладелец: {3}\nТип: {4}\n```",
|
||
"playlistViewPermsValue": "📖 Чтение: ✓ ✍🏽 Запись: {0} 🗑️ Удаление: {1}",
|
||
"playlistViewPermsValue2": "📖 Чтение: {0}",
|
||
"playlistViewTrack": "Треки",
|
||
"playlistViewPage": "Страница: {0}/{1} | Общая продолжительность: {2}",
|
||
"inboxFull": "Извините! Почтовый ящик {0} переполнен.",
|
||
"inboxNoMsg": "В вашем почтовом ящике нет сообщений.",
|
||
"invitationSent": "Приглашение отправлено {0}.",
|
||
|
||
"notInChannel": "{0}, для использования голосовых команд вы должны находиться в {1}. Пожалуйста, перезайдите, если вы уже находитесь в голосовом канале!",
|
||
"noTrackPlaying": "Сейчас нет играющих треков.",
|
||
"noTrackFound": "Треки по такому запросу не найдены! Пожалуйста, укажите действительную ссылку.",
|
||
"noLinkSupport": "Команда поиска не поддерживает ссылки!",
|
||
"voted": "Вы проголосовали!",
|
||
"missingPerms_pos": "Только DJ или администраторы могут изменять позицию.",
|
||
"missingPerms_mode": "Только DJ или администраторы могут переключить режим цикла.",
|
||
"missingPerms_queue": "Только DJ или администраторы могут удалять треки из очереди.",
|
||
"missingPerms_autoplay": "Только DJ или администраторы могут включать или выключать режим autoplay!",
|
||
"missingPerms_function": "Только DJ или администраторы могут использовать эту функцию.",
|
||
"timeFormatError": "Неверный формат времени. Пример: 2:42PM или 12:39:31",
|
||
"lyricsNotFound": "Текст песни не найден. Введите /lyrics <Название песни> <Автор> для поиска текста.",
|
||
"missingTrackInfo": "Некоторая информация о треке отсутствует.",
|
||
"noVoiceChannel": "Голосовой канал не найден!",
|
||
|
||
"playlistAddError": "Вам не разрешено добавлять потоковые видео в плейлист!",
|
||
"playlistAddError2": "Произошла ошибка при добавлении треков в плейлист!",
|
||
"playlistlimited": "Вы достигли лимита! Вы можете добавить только {0} треков в свой плейлист.",
|
||
"playlistrepeated": "Такой же трек уже есть в вашем плейлисте!",
|
||
"playlistAdded": "❤️ Добавлен **{0}** в плейлист пользователя {1} [`{2}`]!",
|
||
|
||
"playerDropdown": "Выберите трек для перехода ...",
|
||
"playerFilter": "Выберите фильтр для применения ...",
|
||
|
||
"buttonBack": "Назад",
|
||
"buttonPause": "Пауза",
|
||
"buttonResume": "Пуск",
|
||
"buttonSkip": "Вперед",
|
||
"buttonLeave": "СТОП",
|
||
"buttonLoop": "Зациклить",
|
||
"buttonVolumeUp": "Громкость +",
|
||
"buttonVolumeDown": "Громкость -",
|
||
"buttonVolumeMute": "Выключить звук",
|
||
"buttonVolumeUnmute": "Включить звук",
|
||
"buttonAutoPlay": "Autoplay",
|
||
"buttonShuffle": "Перемешать",
|
||
"buttonForward": "+10сек",
|
||
"buttonRewind": "Назад",
|
||
|
||
"nowplayingDesc": "**Сейчас играет:**\n```{0}```",
|
||
"nowplayingField": "Следующее:",
|
||
"nowplayingLink": "Слушать на {0}",
|
||
|
||
"connect": "Подключено к {0}",
|
||
|
||
"live": "В ЭФИРЕ",
|
||
"playlistLoad": "🎶 Добавлен плейлист **{0}** с `{1}` треками в очередь.",
|
||
"trackLoad": "Добавлен **[{0}](<{1}>)** от **{2}** (`{3}`) в очередь.\n",
|
||
"trackLoad_pos": "Добавлен **[{0}](<{1}>)** от **{2}** (`{3}`) в очередь на позицию **{4}**\n",
|
||
"searchTitle": "Поиск: {0}",
|
||
"searchDesc": "➥ Платформа: {0} **{1}**\n➥ Результаты: **{2}**\n\n{3}",
|
||
"searchWait": "Выберите трек, который хотите добавить в очередь.",
|
||
"searchTimeout": "Поиск прерван: превышено время ожидания. Пожалуйста, попробуйте позже.",
|
||
"searchSuccess": "Трек добавлен в очередь.",
|
||
|
||
"queueTitle": "Следующий в очереди:",
|
||
"historyTitle": "История очереди:",
|
||
"viewTitle": "Текущая очередь",
|
||
"viewDesc": "**Сейчас играет: [*ссылка*]({0}) ⮯**\n{1}",
|
||
"viewFooter": "Страница: {0}/{1} | Общая продолжительность: {2}",
|
||
|
||
"pauseError": "Плеер уже на паузе.",
|
||
"pauseVote": "Пользователь `{0}` проголосовал за паузу плеера. [{1}/{2}]",
|
||
"paused": "Пользователь `{0}` поставил плеер на паузу.",
|
||
"resumeError": "Плеер не на паузе.",
|
||
"resumeVote": "Пользователь `{0}` проголосовал за продолжение трека. [{1}/{2}]",
|
||
"resumed": "Пользователь `{0}` убрал плеер с паузы.",
|
||
"shuffleError": "Недостаточно треков для перемешивания",
|
||
"shuffleVote": "Пользователь `{0}` проголосовал за перемешивание треков. [{1}/{2}]",
|
||
"shuffled": "Очередь перемешана.",
|
||
"skipError": "Нет треков для пропуска.",
|
||
"skipVote": "Пользователь `{0}` проголосовал за пропуск трека. [{1}/{2}]",
|
||
"skipped": "Пользователь `{0}` пропустил трек.",
|
||
|
||
"backVote": "Пользователь `{0}` проголосовал за возврат к предыдущему треку. [{1}/{2}]",
|
||
"backed": "Пользователь `{0}` вернулся к предыдущему треку.",
|
||
|
||
"leaveVote": "Пользователь `{0}` проголосовал за остановку плеера. [{1}/{2}]",
|
||
"left": "Пользователь `{0}` остановил плеер.",
|
||
|
||
"seek": "Установить плеер на **{0}**",
|
||
"repeat": "Режим повтора `{0}`",
|
||
"cleared": "Очищены все треки в `{0}`",
|
||
"removed": "Удалено `{0}` треков из очереди.",
|
||
"forward": "Перемотать плеер вперед на **{0}**",
|
||
"rewind": "Отмотать плеер назад на **{0}**",
|
||
"replay": "Повтор текущего трека.",
|
||
"swapped": "Треки `{0}` и `{1}` поменяны местами",
|
||
"moved": "Трек `{0}` смещён на `{1}`",
|
||
"autoplay": "Режим autoplay **{0}**",
|
||
|
||
"notdj": "Вы не DJ. Текущий DJ: {0}.",
|
||
"djToMe": "Вы не можете передать роль DJ себе или боту.",
|
||
"djnotinchannel": "Пользователь `{0}` не находится в голосовом канале.",
|
||
"djswap": "Вы передали роль DJ пользователю `{0}`.",
|
||
|
||
"chaptersDropdown": "Выберите эпизод для перехода ...",
|
||
"noChaptersFound": "Эпизод не найден!",
|
||
"chatpersNotSupport": "Эта команда поддерживает только видео на YouTube!",
|
||
|
||
"voicelinkQueueFull": "Извините, вы достигли максимального количества `{0}` треков в очереди!",
|
||
"voicelinkOutofList": "Пожалуйста, предоставьте действительный индекс трека!",
|
||
"voicelinkDuplicateTrack": "Извините, этот трек уже есть в очереди.",
|
||
|
||
"deocdeError": "Что-то пошло не так при декодировании файла!",
|
||
"invalidStartTime": "Hевозможное время начала! Вход времени должен быть внутри `00:00` и `{0}`.",
|
||
"invalidEndTime": "Невозможное время конца! Вход времени должен быть внутри `00:00` и `{0}`.",
|
||
"invalidTimeOrder": "Время конца не может быть меньше или равно времени начала.",
|
||
|
||
"SetStageAnnounceTemplate": "Готово! С этого момента статус голоса, как тот, в котором вы находитесь сейчас, будет называться в соответствии с вашим шаблоном. Вы должны увидеть обновление через несколько секунд."
|
||
} |