mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-09-06 09:56:09 +00:00
Support for Soundboard and VC effects
This commit is contained in:
@ -93,6 +93,7 @@ if TYPE_CHECKING:
|
||||
sku,
|
||||
poll,
|
||||
voice,
|
||||
soundboard,
|
||||
)
|
||||
from .types.snowflake import Snowflake, SnowflakeList
|
||||
|
||||
@ -2515,6 +2516,78 @@ class HTTPClient:
|
||||
),
|
||||
)
|
||||
|
||||
# Soundboard
|
||||
|
||||
def get_soundboard_default_sounds(self) -> Response[List[soundboard.SoundboardDefaultSound]]:
|
||||
return self.request(Route('GET', '/soundboard-default-sounds'))
|
||||
|
||||
def get_soundboard_sound(self, guild_id: Snowflake, sound_id: Snowflake) -> Response[soundboard.SoundboardSound]:
|
||||
return self.request(
|
||||
Route('GET', '/guilds/{guild_id}/soundboard-sounds/{sound_id}', guild_id=guild_id, sound_id=sound_id)
|
||||
)
|
||||
|
||||
def get_soundboard_sounds(self, guild_id: Snowflake) -> Response[Dict[str, List[soundboard.SoundboardSound]]]:
|
||||
return self.request(Route('GET', '/guilds/{guild_id}/soundboard-sounds', guild_id=guild_id))
|
||||
|
||||
def create_soundboard_sound(
|
||||
self, guild_id: Snowflake, *, reason: Optional[str], **payload: Any
|
||||
) -> Response[soundboard.SoundboardSound]:
|
||||
valid_keys = (
|
||||
'name',
|
||||
'sound',
|
||||
'volume',
|
||||
'emoji_id',
|
||||
'emoji_name',
|
||||
)
|
||||
|
||||
payload = {k: v for k, v in payload.items() if k in valid_keys and v is not None}
|
||||
|
||||
return self.request(
|
||||
Route('POST', '/guilds/{guild_id}/soundboard-sounds', guild_id=guild_id), json=payload, reason=reason
|
||||
)
|
||||
|
||||
def edit_soundboard_sound(
|
||||
self, guild_id: Snowflake, sound_id: Snowflake, *, reason: Optional[str], **payload: Any
|
||||
) -> Response[soundboard.SoundboardSound]:
|
||||
valid_keys = (
|
||||
'name',
|
||||
'volume',
|
||||
'emoji_id',
|
||||
'emoji_name',
|
||||
)
|
||||
|
||||
payload = {k: v for k, v in payload.items() if k in valid_keys}
|
||||
|
||||
return self.request(
|
||||
Route(
|
||||
'PATCH',
|
||||
'/guilds/{guild_id}/soundboard-sounds/{sound_id}',
|
||||
guild_id=guild_id,
|
||||
sound_id=sound_id,
|
||||
),
|
||||
json=payload,
|
||||
reason=reason,
|
||||
)
|
||||
|
||||
def delete_soundboard_sound(self, guild_id: Snowflake, sound_id: Snowflake, *, reason: Optional[str]) -> Response[None]:
|
||||
return self.request(
|
||||
Route(
|
||||
'DELETE',
|
||||
'/guilds/{guild_id}/soundboard-sounds/{sound_id}',
|
||||
guild_id=guild_id,
|
||||
sound_id=sound_id,
|
||||
),
|
||||
reason=reason,
|
||||
)
|
||||
|
||||
def send_soundboard_sound(self, channel_id: Snowflake, **payload: Any) -> Response[None]:
|
||||
valid_keys = ('sound_id', 'source_guild_id')
|
||||
payload = {k: v for k, v in payload.items() if k in valid_keys}
|
||||
print(payload)
|
||||
return self.request(
|
||||
(Route('POST', '/channels/{channel_id}/send-soundboard-sound', channel_id=channel_id)), json=payload
|
||||
)
|
||||
|
||||
# Application
|
||||
|
||||
def application_info(self) -> Response[appinfo.AppInfo]:
|
||||
|
Reference in New Issue
Block a user