2
2
from typing import cast , override
3
3
4
4
import discord
5
+ import wavelink
5
6
from discord .ext import commands
6
7
7
8
from nameless import Nameless
8
9
from nameless .custom .ui import CustomDropdown
9
10
10
- from .base import BaseView
11
+ from .. base import BaseSettingsView
11
12
from .karaoke_settings import make as karaoke_make
12
13
14
+ __all__ = ["make" ]
15
+
13
16
14
17
class FilterFlags (Enum ):
15
18
EXIT = "-1"
@@ -33,7 +36,7 @@ def get_selected_flag(self) -> FilterFlags:
33
36
return FilterFlags (self .values [0 ])
34
37
35
38
36
- class SettingsView (BaseView ):
39
+ class SettingsView (BaseSettingsView ):
37
40
def __init__ (self , author : discord .Member | discord .User , message : discord .Message ):
38
41
super ().__init__ (author , message )
39
42
self .add_item (FilterDropdown ())
@@ -44,6 +47,8 @@ def get_dropdown(self) -> FilterDropdown:
44
47
45
48
46
49
async def make (ctx : commands .Context [Nameless ]):
50
+ assert ctx .guild is not None
51
+
47
52
embed = (
48
53
discord .Embed (
49
54
title = "Filter Settings" ,
@@ -59,10 +64,13 @@ async def make(ctx: commands.Context[Nameless]):
59
64
.add_field (name = "Rotation" , value = "Change the rotation settings" )
60
65
)
61
66
67
+ voice_client = cast (wavelink .Player , ctx .guild .voice_client )
68
+ filters = voice_client .filters
62
69
message = await ctx .send (embed = embed )
70
+
63
71
while True :
64
72
view = SettingsView (ctx .author , message )
65
- await message .edit (view = view )
73
+ await message .edit (view = view , embed = embed )
66
74
67
75
if await view .wait ():
68
76
await message .edit (view = None )
@@ -71,7 +79,7 @@ async def make(ctx: commands.Context[Nameless]):
71
79
selected_flag = view .get_dropdown ().get_selected_flag ()
72
80
match selected_flag :
73
81
case FilterFlags .KARAOKE :
74
- await karaoke_make (ctx , message )
82
+ await karaoke_make (ctx , message , filters , voice_client )
75
83
case FilterFlags .EXIT :
76
84
await message .edit (view = None )
77
85
return
0 commit comments