Fixed some bugs and clean code

This commit is contained in:
Choco
2023-05-31 12:24:46 +08:00
parent 3f3619e9fd
commit 381a566093
2 changed files with 15 additions and 7 deletions

View File

@@ -1,7 +1,5 @@
import json, function as func
from typing import List
from discord import Member, VoiceChannel
from discord.ext import commands
from voicelink import Player, Track, Playlist, NodePool, connect_channel, decode
@@ -52,7 +50,7 @@ async def initPlayer(player: Player, member: Member, data: dict):
"tracks": [ track.track_id for track in player.queue._queue ],
"repeat_mode": player.queue.repeat.lower(),
"channel_name": player.channel.name,
"current_queue_position": player.queue._position if player.is_playing else player.queue._position + 1,
"current_queue_position": player.queue._position if player._current else player.queue._position + 1,
"current_position": 0 or player.position if player.is_playing else 0,
"is_playing": player.is_playing,
"is_paused": player.is_paused,
@@ -284,7 +282,12 @@ async def getPlaylists(member: Member, data: dict):
await func.update_playlist(member.id, {f"playlist.{pId}": 1}, mode=False)
del playlists[pId]
continue
playlists[pId]["tracks"] = playlist["tracks"]
if playlist['type'] == 'link':
tracks: Playlist = await NodePool.get_node().get_tracks(playlist["uri"], requester=member)
playlists[pId]["tracks"] = [ track.track_id for track in tracks.tracks ]
else:
playlists[pId]["tracks"] = playlist["tracks"]
return {
"op": "getPlaylists",
@@ -306,7 +309,7 @@ async def removePlaylist(member: Member, data:dict):
await func.update_playlist(member.id, {f'playlist.{pId}': 1}, mode=False)
async def addPlaylistTrack(member: Member, data: dict):
track_id = data.get("track")
track_id = data.get("track_id")
pId = data.get("pId")
if not track_id or not pId:
return
@@ -315,6 +318,9 @@ async def addPlaylistTrack(member: Member, data: dict):
if not playlist:
return
if playlist["type"] != "playlist":
return error_msg(func.get_lang(member.guild.id, 'playlistNotAllow'), user_id=member.id)
rank, max_p, max_t = await func.checkroles(member.id)
if len(playlist["tracks"]) >= max_t:
return error_msg(func.get_lang(member.guild.id, "playlistlimited").format(max_t), user_id=member.id)
@@ -325,7 +331,7 @@ async def addPlaylistTrack(member: Member, data: dict):
await func.update_playlist(member.id, {f'playlist.{pId}.tracks': track_id}, push=True)
async def removePlaylistTrack(member: Member, data: dict):
track_id = data.get("track")
track_id = data.get("track_id")
pId = data.get("pId")
if not track_id or not pId:
return

View File

@@ -55,7 +55,7 @@
</div>
</div>
</div>
<div class="main" id="main">
<div class="toastContrainer"></div>
<div class="thumbnail">
@@ -83,6 +83,8 @@
<div class="playlists" id="playlists" style="display: None">
<div class="playlists-grid" id="playlists-grid">
</div>
<div class="playlists-tracks" id="playlists-tracks">
</div>
</div>
<div class="users-bar">