|
| 1 | +# pyright: reportCallIssue=false |
| 2 | + |
1 | 3 | import logging
|
2 | 4 | from enum import Enum
|
3 | 5 | from typing import TypedDict, cast, override
|
4 | 6 |
|
5 | 7 | import discord
|
| 8 | +import wavelink |
6 | 9 | from discord.ext import commands
|
7 | 10 |
|
8 | 11 | from nameless import Nameless
|
@@ -31,6 +34,20 @@ def __init__(self, title: str):
|
31 | 34 | )
|
32 | 35 | )
|
33 | 36 |
|
| 37 | + @override |
| 38 | + async def on_submit(self, interaction: discord.Interaction[discord.Client]): |
| 39 | + assert interaction.guild |
| 40 | + |
| 41 | + await super().on_submit(interaction) |
| 42 | + await interaction.followup.send(f"Level set to {self.value}", ephemeral=True) |
| 43 | + |
| 44 | + voice_client = cast(wavelink.Player, interaction.guild.voice_client) |
| 45 | + filters = wavelink.Filters() |
| 46 | + filters.karaoke.set( |
| 47 | + level=self.value, mono_level=0, filter_band=0, filter_width=0 |
| 48 | + ) |
| 49 | + await voice_client.set_filters(filters) |
| 50 | + |
34 | 51 |
|
35 | 52 | class MonoLevelView(CustomModalT):
|
36 | 53 | def __init__(self, title: str):
|
@@ -134,7 +151,7 @@ def output_message(self) -> str:
|
134 | 151 | @property
|
135 | 152 | def input_value(self):
|
136 | 153 | if not self._modal:
|
137 |
| - return None |
| 154 | + return 0 |
138 | 155 | return self._modal.value
|
139 | 156 |
|
140 | 157 | @override
|
@@ -169,33 +186,37 @@ def get_dropdown(self) -> KaraokeSettingDropdown:
|
169 | 186 |
|
170 | 187 |
|
171 | 188 | async def make(ctx: commands.Context[Nameless], message: discord.Message):
|
172 |
| - embed = ( |
173 |
| - discord.Embed( |
174 |
| - title="Karaoke Settings", |
175 |
| - description="Select a setting to change", |
176 |
| - color=discord.Color.blurple(), |
177 |
| - ) |
178 |
| - .add_field( |
179 |
| - name="Level", value="Change the level of the karaoke effect", inline=False |
180 |
| - ) |
181 |
| - .add_field( |
182 |
| - name="Mono Level", |
183 |
| - value="Change the mono level of the karaoke effect", |
184 |
| - inline=False, |
185 |
| - ) |
186 |
| - .add_field( |
187 |
| - name="Filter Band", |
188 |
| - value="Change the filter band of the karaoke effect", |
189 |
| - inline=False, |
190 |
| - ) |
191 |
| - .add_field( |
192 |
| - name="Filter Width", |
193 |
| - value="Change the filter width of the karaoke effect", |
194 |
| - inline=False, |
195 |
| - ) |
196 |
| - ) |
| 189 | + voice_client = cast(wavelink.Player, ctx.voice_client) |
| 190 | + karaoke = voice_client.filters.karaoke |
197 | 191 |
|
198 | 192 | while True:
|
| 193 | + embed = ( |
| 194 | + discord.Embed( |
| 195 | + title="Karaoke Settings", |
| 196 | + description="Select a setting to change", |
| 197 | + color=discord.Color.blurple(), |
| 198 | + ) |
| 199 | + .add_field( |
| 200 | + name=f"Level {karaoke.payload.get('level', 0)}", |
| 201 | + value="Change the level of the karaoke effect", |
| 202 | + inline=False, |
| 203 | + ) |
| 204 | + .add_field( |
| 205 | + name=f"Mono Level {karaoke.payload.get('mono_level', 0)}", |
| 206 | + value="Change the mono level of the karaoke effect", |
| 207 | + inline=False, |
| 208 | + ) |
| 209 | + .add_field( |
| 210 | + name=f"Filter Band {karaoke.payload.get('filter_band', 0)}", |
| 211 | + value="Change the filter band of the karaoke effect", |
| 212 | + inline=False, |
| 213 | + ) |
| 214 | + .add_field( |
| 215 | + name=f"Filter Width {karaoke.payload.get('filter_width', 0)}", |
| 216 | + value="Change the filter width of the karaoke effect", |
| 217 | + inline=False, |
| 218 | + ) |
| 219 | + ) |
199 | 220 | view = KaraokeSettingView(ctx.author, message)
|
200 | 221 | await message.edit(view=view, embed=embed)
|
201 | 222 |
|
|
0 commit comments