Skip to content

Commit 97628fe

Browse files
committed
MORE_SOUNDBOARD and SOUNDBOARD feature flags
1 parent 3b010f9 commit 97628fe

File tree

2 files changed

+29
-5
lines changed

2 files changed

+29
-5
lines changed

discord/guild.py

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ class BanEntry(NamedTuple):
131131
class _GuildLimit(NamedTuple):
132132
emoji: int
133133
stickers: int
134+
soundboard: int
134135
bitrate: float
135136
filesize: int
136137

@@ -291,11 +292,21 @@ class Guild(Hashable):
291292
)
292293

293294
_PREMIUM_GUILD_LIMITS: ClassVar[dict[int | None, _GuildLimit]] = {
294-
None: _GuildLimit(emoji=50, stickers=5, bitrate=96e3, filesize=26214400),
295-
0: _GuildLimit(emoji=50, stickers=5, bitrate=96e3, filesize=26214400),
296-
1: _GuildLimit(emoji=100, stickers=15, bitrate=128e3, filesize=26214400),
297-
2: _GuildLimit(emoji=150, stickers=30, bitrate=256e3, filesize=52428800),
298-
3: _GuildLimit(emoji=250, stickers=60, bitrate=384e3, filesize=104857600),
295+
None: _GuildLimit(
296+
emoji=50, stickers=5, soundboard=8, bitrate=96e3, filesize=26214400
297+
),
298+
0: _GuildLimit(
299+
emoji=50, stickers=5, soundboard=8, bitrate=96e3, filesize=26214400
300+
),
301+
1: _GuildLimit(
302+
emoji=100, stickers=15, soundboard=24, bitrate=128e3, filesize=26214400
303+
),
304+
2: _GuildLimit(
305+
emoji=150, stickers=30, soundboard=36, bitrate=256e3, filesize=52428800
306+
),
307+
3: _GuildLimit(
308+
emoji=250, stickers=60, soundboard=48, bitrate=384e3, filesize=104857600
309+
),
299310
}
300311

301312
def __init__(self, *, data: GuildPayload, state: ConnectionState):
@@ -925,6 +936,17 @@ def sticker_limit(self) -> int:
925936
more_stickers, self._PREMIUM_GUILD_LIMITS[self.premium_tier].stickers
926937
)
927938

939+
@property
940+
def soundboard_limit(self) -> int:
941+
"""The maximum number of soundboard slots this guild has.
942+
943+
.. versionadded:: 2.7
944+
"""
945+
more_soundboard = 48 if "MORE_SOUNDBOARD" in self.features else 0
946+
return max(
947+
more_soundboard, self._PREMIUM_GUILD_LIMITS[self.premium_tier].soundboard
948+
)
949+
928950
@property
929951
def bitrate_limit(self) -> int:
930952
"""The maximum bitrate for voice channels this guild can have."""

discord/types/guild.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ class UnavailableGuild(TypedDict):
7979
"MEMBER_VERIFICATION_GATE_ENABLED",
8080
"MONETIZATION_ENABLED",
8181
"MORE_EMOJI",
82+
"MORE_SOUNDBOARD",
83+
"SOUNDBOARD",
8284
"MORE_STICKERS",
8385
"NEWS",
8486
"NEW_THREAD_PERMISSIONS",

0 commit comments

Comments
 (0)