mirror of
https://github.com/deadcxap/YandexMusicDiscordBot.git
synced 2026-01-16 00:21:45 +03:00
fix: Wrong to_dict conversion
This commit is contained in:
@@ -68,7 +68,7 @@ class BaseGuildsDatabase:
|
|||||||
"""
|
"""
|
||||||
guilds.insert_one(ExplicitGuild(
|
guilds.insert_one(ExplicitGuild(
|
||||||
_id=gid,
|
_id=gid,
|
||||||
tracks_list=[],
|
next_tracks_list=[],
|
||||||
previous_tracks_list=[],
|
previous_tracks_list=[],
|
||||||
current_track=None,
|
current_track=None,
|
||||||
is_stopped=True,
|
is_stopped=True,
|
||||||
|
|||||||
@@ -5,46 +5,58 @@ from MusicBot.database.base import BaseGuildsDatabase
|
|||||||
|
|
||||||
class VoiceGuildsDatabase(BaseGuildsDatabase):
|
class VoiceGuildsDatabase(BaseGuildsDatabase):
|
||||||
|
|
||||||
|
def clear_queue(self, gid: int) -> None:
|
||||||
|
self.update(gid, {'next_tracks_list': []})
|
||||||
|
|
||||||
|
def clear_history(self, gid: int) -> None:
|
||||||
|
self.update(gid, {'previous_tracks_list': []})
|
||||||
|
|
||||||
|
def get_current_track(self, gid: int) -> dict[str, Any] | None:
|
||||||
|
guild = self.get_guild(gid)
|
||||||
|
return guild.get('current_track')
|
||||||
|
|
||||||
def get_previous_tracks_list(self, gid: int) -> list[dict[str, Any]]:
|
def get_previous_tracks_list(self, gid: int) -> list[dict[str, Any]]:
|
||||||
guild = self.get_guild(gid)
|
guild = self.get_guild(gid)
|
||||||
return guild.get('previous_tracks_list')
|
return guild.get('previous_tracks_list')
|
||||||
|
|
||||||
def get_tracks_list(self, gid: int) -> list[dict[str, Any]]:
|
def get_next_tracks_list(self, gid: int) -> list[dict[str, Any]]:
|
||||||
guild = self.get_guild(gid)
|
guild = self.get_guild(gid)
|
||||||
return guild.get('tracks_list')
|
return guild.get('next_tracks_list')
|
||||||
|
|
||||||
def pop_track(self, gid: int) -> dict[str, Any]:
|
def get_next_track(self, gid: int) -> dict[str, Any]:
|
||||||
tracks_list = self.get_tracks_list(gid)
|
tracks_list = self.get_next_tracks_list(gid)
|
||||||
track = tracks_list.pop(0)
|
track = tracks_list.pop(0)
|
||||||
self.update(gid, {'tracks_list': tracks_list})
|
self.update(gid, {'next_tracks_list': tracks_list})
|
||||||
return track
|
return track
|
||||||
|
|
||||||
def insert_track(self, gid: int, track: Track | dict[str, Any]) -> None:
|
def insert_track(self, gid: int, track: Track | dict[str, Any]) -> None:
|
||||||
if isinstance(track, Track):
|
if isinstance(track, Track):
|
||||||
track = track.to_dict(for_request=True)
|
track = track.to_dict()
|
||||||
tracks_list = self.get_tracks_list(gid)
|
tracks_list = self.get_next_tracks_list(gid)
|
||||||
tracks_list.insert(0, track)
|
tracks_list.insert(0, track)
|
||||||
self.update(gid, {'tracks_list': tracks_list})
|
self.update(gid, {'next_tracks_list': tracks_list})
|
||||||
|
|
||||||
def add_track(self, gid: int, track: Track) -> None:
|
def append_track(self, gid: int, track: Track) -> None:
|
||||||
tracks_list = self.get_tracks_list(gid)
|
tracks_list = self.get_next_tracks_list(gid)
|
||||||
tracks_list.append(track.to_dict(for_request=True))
|
tracks_list.append(track.to_dict())
|
||||||
self.update(gid, {'tracks_list': tracks_list})
|
self.update(gid, {'next_tracks_list': tracks_list})
|
||||||
|
|
||||||
def set_current_track(self, gid: int, track: Track) -> None:
|
def set_current_track(self, gid: int, track: Track) -> None:
|
||||||
self.update(gid, {'current_track': track.to_dict(for_request=True)})
|
self.update(gid, {'current_track': track.to_dict()})
|
||||||
|
|
||||||
def add_previous_track(self, gid: int, track: Track | dict[str, Any]) -> None:
|
def add_previous_track(self, gid: int, track: Track | dict[str, Any]) -> None:
|
||||||
tracks_list = self.get_previous_tracks_list(gid)
|
tracks_list = self.get_previous_tracks_list(gid)
|
||||||
if isinstance(track, Track):
|
if isinstance(track, Track):
|
||||||
track = track.to_dict(for_request=True)
|
track = track.to_dict()
|
||||||
tracks_list.insert(0, track)
|
tracks_list.insert(0, track)
|
||||||
if len(tracks_list) > 50:
|
if len(tracks_list) > 50:
|
||||||
tracks_list.pop()
|
tracks_list.pop()
|
||||||
self.update(gid, {'previous_tracks_list': tracks_list})
|
self.update(gid, {'previous_tracks_list': tracks_list})
|
||||||
|
|
||||||
def pop_previous_track(self, gid: int) -> dict[str, Any]:
|
def get_previous_track(self, gid: int) -> dict[str, Any] | None:
|
||||||
tracks_list = self.get_previous_tracks_list(gid)
|
tracks_list = self.get_previous_tracks_list(gid)
|
||||||
|
if len(tracks_list) == 0:
|
||||||
|
return
|
||||||
track = tracks_list.pop(0)
|
track = tracks_list.pop(0)
|
||||||
self.update(gid, {'previous_tracks_list': tracks_list})
|
self.update(gid, {'previous_tracks_list': tracks_list})
|
||||||
return track
|
return track
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
from typing import TypedDict, Any
|
from typing import TypedDict, Any
|
||||||
|
|
||||||
class Guild(TypedDict):
|
class Guild(TypedDict):
|
||||||
tracks_list: list[dict[str, Any]]
|
next_tracks_list: list[dict[str, Any]]
|
||||||
previous_tracks_list: list[dict[str, Any]]
|
previous_tracks_list: list[dict[str, Any]]
|
||||||
current_track: dict[str, Any] | None
|
current_track: dict[str, Any] | None
|
||||||
is_stopped: bool
|
is_stopped: bool
|
||||||
@@ -10,7 +10,7 @@ class Guild(TypedDict):
|
|||||||
|
|
||||||
class ExplicitGuild(TypedDict):
|
class ExplicitGuild(TypedDict):
|
||||||
_id: int
|
_id: int
|
||||||
tracks_list: list[dict[str, Any]]
|
next_tracks_list: list[dict[str, Any]]
|
||||||
previous_tracks_list: list[dict[str, Any]]
|
previous_tracks_list: list[dict[str, Any]]
|
||||||
current_track: dict[str, Any] | None
|
current_track: dict[str, Any] | None
|
||||||
is_stopped: bool # Prevents the `after` callback of play_track
|
is_stopped: bool # Prevents the `after` callback of play_track
|
||||||
|
|||||||
Reference in New Issue
Block a user