Skip to content

Commit 36c7e52

Browse files
committed
🐛 Add types and raw delete event
1 parent a600965 commit 36c7e52

File tree

5 files changed

+23
-8
lines changed

5 files changed

+23
-8
lines changed

discord/guild.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -626,7 +626,7 @@ async def create_sound(
626626
volume: float = 1.0,
627627
emoji: PartialEmoji | GuildEmoji | str | None = None,
628628
reason: str | None = None,
629-
):
629+
) -> SoundboardSound:
630630
"""|coro|
631631
Creates a :class:`SoundboardSound` in the guild.
632632
You must have :attr:`Permissions.manage_expressions` permission to use this.

discord/http.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3191,7 +3191,7 @@ def delete_sound(
31913191
reason=reason,
31923192
)
31933193

3194-
def get_default_sounds(self):
3194+
def get_default_sounds(self) -> Response[list[SoundboardSoundPayload]]:
31953195
return self.request(Route("GET", "/soundboard-default-sounds"))
31963196

31973197
def create_guild_sound(
@@ -3234,7 +3234,7 @@ def get_guild_sound(
32343234

32353235
def edit_guild_sound(
32363236
self, guild_id: Snowflake, sound_id: Snowflake, *, reason: str | None, **payload
3237-
):
3237+
) -> Response[SoundboardSoundPayload]:
32383238
keys = (
32393239
"name",
32403240
"volume",
@@ -3257,7 +3257,7 @@ def edit_guild_sound(
32573257

32583258
def send_soundboard_sound(
32593259
self, channel_id: int, sound: PartialSoundboardSound
3260-
) -> None:
3260+
) -> Response[None]:
32613261
payload = {
32623262
"sound_id": sound.id,
32633263
}

discord/state.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
from .types.guild import Guild as GuildPayload
8888
from .types.message import Message as MessagePayload
8989
from .types.poll import Poll as PollPayload
90-
from .types.soundboard import SounboardSound as SoundboardSoundPayload
90+
from .types.soundboard import SoundboardSoundDeletePayload
9191
from .types.sticker import GuildSticker as GuildStickerPayload
9292
from .types.user import User as UserPayload
9393
from .voice_client import VoiceClient
@@ -2061,17 +2061,18 @@ def parse_guild_soundboard_sound_delete(self, data):
20612061
if sound is not None:
20622062
self._remove_sound(sound)
20632063
self.dispatch("soundboard_sound_delete", sound)
2064+
self.dispatch("raw_soundboard_sound_delete", data)
20642065

2065-
async def _add_default_sounds(self):
2066+
async def _add_default_sounds(self) -> None:
20662067
default_sounds = await self.http.get_default_sounds()
20672068
for default_sound in default_sounds:
20682069
sound = SoundboardSound(state=self, http=self.http, data=default_sound)
20692070
self._add_sound(sound)
20702071

2071-
def _add_sound(self, sound: SoundboardSound):
2072+
def _add_sound(self, sound: SoundboardSound) -> None:
20722073
self._sounds[sound.id] = sound
20732074

2074-
def _remove_sound(self, sound: SoundboardSound):
2075+
def _remove_sound(self, sound: SoundboardSound) -> None:
20752076
self._sounds.pop(sound.id, None)
20762077

20772078
@property

discord/types/soundboard.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,8 @@ class SoundboardSound(TypedDict):
4141
guild_id: NotRequired[Snowflake]
4242
user: NotRequired[User]
4343
available: bool
44+
45+
46+
class SoundboardSoundDeletePayload(TypedDict):
47+
sound_id: Snowflake | int
48+
guild_id: Snowflake | int

docs/api/events.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1442,6 +1442,15 @@ Soundboard Sound
14421442
:param sound: The soundboard sound that was deleted.
14431443
:type sound: :class:`SoundboardSound`
14441444

1445+
.. function:: on_raw_soundboard_sound_delete(payload)
1446+
1447+
Called when a soundboard sound is deleted.
1448+
1449+
.. versionadded:: 2.7
1450+
1451+
:param payload: The raw event payload data.
1452+
:type payload: :class:`SoundboardSoundDeletePayload`
1453+
14451454
.. function:: on_soundboard_sound_create(sound)
14461455

14471456
Called when a soundboard sound is created.

0 commit comments

Comments
 (0)