Use snake_case for all database keys
This commit is contained in:
@@ -99,16 +99,16 @@ class Settings(commands.Cog, name="settings"):
|
||||
|
||||
@settings.command(name="queue", aliases=get_aliases("queue"))
|
||||
@app_commands.choices(mode=[
|
||||
app_commands.Choice(name="FairQueue", value="FairQueue"),
|
||||
app_commands.Choice(name="Queue", value="Queue")
|
||||
app_commands.Choice(name=queue_type.capitalize(), value=queue_type)
|
||||
for queue_type in voicelink.queue.QUEUE_TYPES.keys()
|
||||
])
|
||||
@commands.has_permissions(manage_guild=True)
|
||||
@commands.dynamic_cooldown(cooldown_check, commands.BucketType.guild)
|
||||
async def queue(self, ctx: commands.Context, mode: str):
|
||||
"Change to another type of queue mode."
|
||||
mode = "FairQueue" if mode.lower() == "fairqueue" else "Queue"
|
||||
await update_settings(ctx.guild.id, {"$set": {"queueType": mode}})
|
||||
await send(ctx, "setqueue", mode)
|
||||
mode = mode if mode.lower() in voicelink.queue.QUEUE_TYPES else next(iter(voicelink.queue.QUEUE_TYPES))
|
||||
await update_settings(ctx.guild.id, {"$set": {"queue_type": mode}})
|
||||
await send(ctx, "setQueue", mode.capitalize())
|
||||
|
||||
@settings.command(name="247", aliases=get_aliases("247"))
|
||||
@commands.has_permissions(manage_guild=True)
|
||||
@@ -126,8 +126,8 @@ class Settings(commands.Cog, name="settings"):
|
||||
async def bypassvote(self, ctx: commands.Context):
|
||||
"Toggles voting system."
|
||||
settings = await get_settings(ctx.guild.id)
|
||||
toggle = settings.get('votedisable', True)
|
||||
await update_settings(ctx.guild.id, {"$set": {'votedisable': not toggle}})
|
||||
toggle = settings.get('disabled_vote', True)
|
||||
await update_settings(ctx.guild.id, {"$set": {'disabled_vote': not toggle}})
|
||||
await send(ctx, 'bypassVote', await get_lang(ctx.guild.id, "enabled" if not toggle else "disabled"))
|
||||
|
||||
@settings.command(name="view", aliases=get_aliases("view"))
|
||||
@@ -149,16 +149,16 @@ class Settings(commands.Cog, name="settings"):
|
||||
settings.get('lang', 'EN'),
|
||||
settings.get('controller', True),
|
||||
dj_role.name if dj_role else 'None',
|
||||
settings.get('votedisable', False),
|
||||
settings.get('disabled_vote', False),
|
||||
settings.get('24/7', False),
|
||||
settings.get('volume', 100),
|
||||
ctime(settings.get('playTime', 0) * 60 * 1000),
|
||||
ctime(settings.get('played_time', 0) * 60 * 1000),
|
||||
inline=True)
|
||||
)
|
||||
embed.add_field(name=texts[3], value=texts[4].format(
|
||||
settings.get("queueType", "Queue"),
|
||||
settings.get("queue_type", "Queue"),
|
||||
func.settings.max_queue,
|
||||
settings.get("duplicateTrack", True)
|
||||
settings.get("duplicate_track", True)
|
||||
))
|
||||
|
||||
if stage_template := settings.get("stage_announce_template"):
|
||||
@@ -212,12 +212,12 @@ class Settings(commands.Cog, name="settings"):
|
||||
async def duplicatetrack(self, ctx: commands.Context):
|
||||
"Toggle Vocard to prevent duplicate songs from queuing."
|
||||
settings = await get_settings(ctx.guild.id)
|
||||
toggle = not settings.get('duplicateTrack', False)
|
||||
toggle = not settings.get('duplicate_track', False)
|
||||
player: voicelink.Player = ctx.guild.voice_client
|
||||
if player:
|
||||
player.queue._allow_duplicate = toggle
|
||||
|
||||
await update_settings(ctx.guild.id, {"$set": {'duplicateTrack': toggle}})
|
||||
await update_settings(ctx.guild.id, {"$set": {'duplicate_track': toggle}})
|
||||
return await send(ctx, "toggleDuplicateTrack", await get_lang(ctx.guild.id, "disabled" if toggle else "enabled"))
|
||||
|
||||
@settings.command(name="customcontroller", aliases=get_aliases("customcontroller"))
|
||||
@@ -248,9 +248,9 @@ class Settings(commands.Cog, name="settings"):
|
||||
async def silentmsg(self, ctx: commands.Context):
|
||||
"Toggle silent messaging to send discreet messages without alerting recipients."
|
||||
settings = await get_settings(ctx.guild.id)
|
||||
toggle = not settings.get('silentMsg', False)
|
||||
toggle = not settings.get('silent_msg', False)
|
||||
|
||||
await update_settings(ctx.guild.id, {"$set": {'silentMsg': toggle}})
|
||||
await update_settings(ctx.guild.id, {"$set": {'silent_msg': toggle}})
|
||||
await send(ctx, 'toggleSilentMsg', await get_lang(ctx.guild.id, "enabled" if toggle else "disabled"))
|
||||
|
||||
@settings.command(name="stageannounce", aliases=get_aliases("stageannounce"))
|
||||
|
||||
@@ -223,7 +223,7 @@ async def send(
|
||||
"embed": embed,
|
||||
"ephemeral": ephemeral,
|
||||
"allowed_mentions": ALLOWED_MENTIONS,
|
||||
"silent": settings.get("silentMsg", False),
|
||||
"silent": settings.get("silent_msg", False),
|
||||
}
|
||||
|
||||
if "delete_after" in send_func.__code__.co_varnames:
|
||||
|
||||
@@ -12,12 +12,14 @@ RATELIMIT_COUNTER: Dict[int, Dict[str, float]] = {}
|
||||
SCOPES = {
|
||||
"prefix": str,
|
||||
"lang": str,
|
||||
"queueType": str,
|
||||
"queue_type": str,
|
||||
"dj": int,
|
||||
"controller": bool,
|
||||
"controller_msg": bool,
|
||||
"24/7": bool,
|
||||
"votedisable": bool,
|
||||
"duplicateTrack": bool,
|
||||
"disabled_vote": bool,
|
||||
"duplicate_track": bool,
|
||||
"silent_msg": bool,
|
||||
"default_controller": dict,
|
||||
"stage_announce_template": str
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"changedLanguage": "已成功切換到 `{0}` 語言包。",
|
||||
"setPrefix": "完成!我的前綴在您的伺服器中現在是 `{0}`。嘗試運行 `{1}ping` 來測試它。",
|
||||
"setDJ": "已將 DJ 設置為 {0}。",
|
||||
"setqueue": "已將隊列模式設置為 `{0}`。",
|
||||
"setQueue": "已將隊列模式設置為 `{0}`。",
|
||||
"247": "現在您有 `{0}` 24/7 模式。",
|
||||
"bypassVote": "現在您有 `{0}` 投票系統。",
|
||||
"setVolume": "已將音量設置為 `{0}`%",
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"changedLanguage": "Erfolgreich auf das Sprachpaket `{0}` geändert.",
|
||||
"setPrefix": "Erledigt! Mein Präfix ist jetzt `{0}` auf deinem Server. Versuche, `{1}ping` auszuführen, um es zu testen.",
|
||||
"setDJ": "Stelle den DJ auf {0}.",
|
||||
"setqueue": "Stelle den Warteschlangenmodus auf `{0}` ein.",
|
||||
"setQueue": "Stelle den Warteschlangenmodus auf `{0}` ein.",
|
||||
"247": "Der 24/7-Modus wurde erfolgreich `{0}`.",
|
||||
"bypassVote": "Das Abstimmungssystem wurde `{0}`",
|
||||
"setVolume": "Stelle die Lautstärke auf `{0}`%.",
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"changedLanguage": "Successfully changed to `{0}` language pack.",
|
||||
"setPrefix": "Done! My prefix in your server is now `{0}`. Try running `{1}ping` to test it out.",
|
||||
"setDJ": "Set the dj to {0}.",
|
||||
"setqueue": "Set queue mode to `{0}`.",
|
||||
"setQueue": "Set queue mode to `{0}`.",
|
||||
"247": "24/7 mode is now `{0}`.",
|
||||
"bypassVote": "You have `{0}` voting system.",
|
||||
"setVolume": "Set the volume to `{0}`%",
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"changedLanguage": "Cambiado con éxito al paquete de idioma `{0}`.",
|
||||
"setPrefix": "¡Listo! Mi prefijo en tu servidor ahora es `{0}`. Intenta ejecutar `{1}ping` para probarlo.",
|
||||
"setDJ": "Establecer el DJ a {0}.",
|
||||
"setqueue": "Establecer el modo de cola en `{0}`.",
|
||||
"setQueue": "Establecer el modo de cola en `{0}`.",
|
||||
"247": "Ahora tienes `{0}` modo 24/7.",
|
||||
"bypassVote": "Ahora tienes `{0}` sistema de votación.",
|
||||
"setVolume": "Ajustar el volumen a `{0}`%",
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"changedLanguage": "Changement réussi vers le pack de langue `{0}`.",
|
||||
"setPrefix": "C'est fait ! Mon préfixe dans votre serveur est désormais `{0}`. Essayez de lancer `{1}ping` pour tester.",
|
||||
"setDJ": "Le DJ a été défini sur {0}.",
|
||||
"setqueue": "Le mode file d'attente est défini sur `{0}`.",
|
||||
"setQueue": "Le mode file d'attente est défini sur `{0}`.",
|
||||
"247": "Le mode 24/7 est maintenant `{0}`.",
|
||||
"bypassVote": "Vous avez le système de vote `{0}`.",
|
||||
"setVolume": "Le volume est réglé à `{0}`%",
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"changedLanguage": "「{0}」言語パックに正常に変更しました。",
|
||||
"setPrefix": "完了!あなたのサーバーのプレフィックスは今や「{0}」です。 `{1}ping`を実行してテストしてみてください。",
|
||||
"setDJ": "{0}にDJを設定しました。",
|
||||
"setqueue": "キューモードを「{0}」に設定しました。",
|
||||
"setQueue": "キューモードを「{0}」に設定しました。",
|
||||
"247": "今、24/7モードは「{0}」です。",
|
||||
"bypassVote": "今、投票システムは「{0}」になりました。",
|
||||
"setVolume": "音量を「{0}%」に設定しました。",
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"changedLanguage": "성공적으로 `{0}` 언어 팩으로 변경되었습니다.",
|
||||
"setPrefix": "완료되었습니다! 이 서버에서 내 접두사는 이제 `{0}`입니다. `{1}ping`을 실행하여 테스트해보세요.",
|
||||
"setDJ": "DJ를 {0}(으)로 설정했습니다.",
|
||||
"setqueue": "큐 모드를 `{0}`(으)로 설정했습니다.",
|
||||
"setQueue": "큐 모드를 `{0}`(으)로 설정했습니다.",
|
||||
"247": "이제 24/7 모드에서 `{0}`으로 변경되었습니다.",
|
||||
"bypassVote": "이제 `{0}` 투표 시스템을 사용할 수 있습니다.",
|
||||
"setVolume": "볼륨을 `{0}`%로 설정했습니다.",
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"changedLanguage": "Pomyślnie zmieniono pakiet językowy na: `{0}` .",
|
||||
"setPrefix": "Gotowe! Mój prefix na tym serwerze to teraz `{0}`. Spróbuj uruchomić polecenie `{1}ping`, aby go przetestować.",
|
||||
"setDJ": "Ustawiono DJ jako {0}.",
|
||||
"setqueue": "Zmienionio tryb kolejki na `{0}`.",
|
||||
"setQueue": "Zmienionio tryb kolejki na `{0}`.",
|
||||
"247": "Tryb 24/7: `{0}`",
|
||||
"bypassVote": "System głosowania: `{0}`",
|
||||
"setVolume": "Ustawiono głośność na `{0}`%",
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"changedLanguage": "Язык успешно изменен на `{0}`.",
|
||||
"setPrefix": "Готово! Мой префикс на вашем сервере теперь `{0}`. Попробуйте запустить `{1}ping`, чтобы проверить его.",
|
||||
"setDJ": "Установить роль DJ {0}.",
|
||||
"setqueue": "Установить режим очереди на `{0}`.",
|
||||
"setQueue": "Установить режим очереди на `{0}`.",
|
||||
"247": "Теперь у вас `{0}` режим 24/7.",
|
||||
"bypassVote": "Теперь у вас `{0}` система голосования.",
|
||||
"setVolume": "Установить громкость на `{0}`%",
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"changedLanguage": "Успішно змінено на мовний пакет `{0}`.",
|
||||
"setPrefix": "Готово! Мій префікс на вашому сервері тепер `{0}`. Спробуйте запустити `{1}ping`, щоб перевірити його.",
|
||||
"setDJ": "Встановити роль DJ {0}.",
|
||||
"setqueue": "Встановити режим черги на `{0}`.",
|
||||
"setQueue": "Встановити режим черги на `{0}`.",
|
||||
"247": "Тепер у вас `{0}` режим 24/7.",
|
||||
"bypassVote": "Тепер у вас `{0}` система голосування.",
|
||||
"setVolume": "Встановити гучність на `{0}`%",
|
||||
|
||||
@@ -31,7 +31,7 @@ import subprocess
|
||||
from io import BytesIO
|
||||
|
||||
ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
__version__ = "v2.7.2b2"
|
||||
__version__ = "v2.7.2b3"
|
||||
|
||||
# URLs for update and migration
|
||||
PYTHON_CMD_NAME = os.path.basename(sys.executable)
|
||||
|
||||
@@ -51,8 +51,8 @@ from .exceptions import VoicelinkException, FilterInvalidArgument, TrackInvalidP
|
||||
from .filters import Filter, Filters
|
||||
from .objects import Track, Playlist
|
||||
from .pool import Node, NodePool
|
||||
from .queue import Queue, FairQueue
|
||||
from .placeholders import Placeholders, build_embed
|
||||
from .queue import Queue, QUEUE_TYPES
|
||||
from random import shuffle, choice
|
||||
|
||||
async def connect_channel(ctx: Union[commands.Context, Interaction], channel: VoiceChannel = None):
|
||||
@@ -115,7 +115,10 @@ class Player(VoiceProtocol):
|
||||
self.settings: dict = settings
|
||||
self.joinTime: float = round(time.time())
|
||||
self._volume: int = self.settings.get('volume', 100)
|
||||
self.queue: Queue = eval(self.settings.get("queueType", "Queue"))(self.settings.get("maxQueue", func.settings.max_queue), self.settings.get("duplicateTrack", True), self.get_msg)
|
||||
self.queue: Queue = QUEUE_TYPES.get(self.settings.get("queue_type", "queue").lower())(
|
||||
self.settings.get("max_queue", func.settings.max_queue),
|
||||
self.settings.get("duplicate_track", True), self.get_msg
|
||||
)
|
||||
|
||||
self._node = NodePool.get_node()
|
||||
self._current: Optional[Track] = None
|
||||
@@ -263,7 +266,7 @@ class Player(VoiceProtocol):
|
||||
|
||||
If `leave` is True and the channel has three members, the requirement adjusts to 2 votes.
|
||||
"""
|
||||
if self.settings.get('votedisable'):
|
||||
if self.settings.get('disabled_vote'):
|
||||
return 0
|
||||
|
||||
required = ceil((len(self.channel.members) - 1) / 2.5)
|
||||
@@ -493,8 +496,8 @@ class Player(VoiceProtocol):
|
||||
"""Cleans up the player and associated resources."""
|
||||
try:
|
||||
await func.update_settings(self.guild.id, {"$set": {
|
||||
"lastActice": (timeNow := round(time.time())),
|
||||
"playTime": round(self.settings.get("playTime", 0) + ((timeNow - self.joinTime) / 60), 2)
|
||||
"last_active": (timeNow := round(time.time())),
|
||||
"played_time": round(self.settings.get("played_time", 0) + ((timeNow - self.joinTime) / 60), 2)
|
||||
}})
|
||||
|
||||
if self.is_ipc_connected:
|
||||
@@ -711,7 +714,7 @@ class Player(VoiceProtocol):
|
||||
await self.send_ws({
|
||||
"op": "shuffleTrack",
|
||||
"tracks": [{"trackId": track.track_id, "requesterId": str(track.requester.id)} for track in replacement],
|
||||
"queueType": queue_type
|
||||
"queue_type": queue_type
|
||||
}, requester)
|
||||
|
||||
self._logger.debug(f"Player in {self.guild.name}({self.guild.id}) has been shuffled the queue.")
|
||||
@@ -785,7 +788,7 @@ class Player(VoiceProtocol):
|
||||
if self.is_ipc_connected:
|
||||
await self.send_ws({
|
||||
"op": "clearQueue",
|
||||
"queueType": queue_type
|
||||
"queue_type": queue_type
|
||||
}, requester)
|
||||
|
||||
async def remove_filter(self, filter_tag: str, requester: Member = None, fast_apply: bool = False) -> Filters:
|
||||
|
||||
@@ -223,3 +223,8 @@ class FairQueue(Queue):
|
||||
|
||||
self.put_at_index(lastIndex, item)
|
||||
return lastIndex
|
||||
|
||||
QUEUE_TYPES: Dict[str, Queue] = {
|
||||
"queue": Queue,
|
||||
"fairqueue": FairQueue
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user